本文目錄一覽:
- 1、thinkphp 5使用require_once的問題
- 2、php require_once()函數的使用方法
- 3、如何避免php的require_once
- 4、php require_once過多是否會導致php性能太差,求各位大大幫助
thinkphp 5使用require_once的問題
你好。
不需要require.
直接實例化命名空間
你這裡應該是
$aipface = new \app\index\controller\AipFace;//這樣得到控制器對象
php require_once()函數的使用方法
require_once() 為了避免重複載入文件。
意為:載入文件一次
require_once() 語句在腳本執行期間包括並運行指定文件。此行為和 require() 語句類似,唯一區別是如果該文件中的代碼已經被包括了,則不會再次包括。
一般都用在包含文件的時候,比如你寫了一個類文件a.php,這個文件主要是定義類,代碼可能如下:
class p
{
public $a;
function make(}
{
echo $a;
}
}
這個時候你在文件b.php中要使用到該類,就可以再b.php開頭加上,require_once(a.php);來載入這個a.php,就相當於把a.php的文件的代碼複製到了b.php中。類似的方法還有requeire(),include(),include_once()其中帶_once字樣的方法都是聲明只載入一次,因為你require_once()的別文件中可能已經require_once(a.php)了,如果再載入就造成重複載入,代碼量會增加造成解析減慢。
如何避免php的require_once
說一下常用的避免require/include的方法。1、使用魔術函數__autoloadphp5可以使用__autoload來避免require,用的好的話,代碼裡頭甚至看不到幾個require,真是不錯的東西。測試結果表明,使用__autoload之後比 require_once然後再實例化大概要快3倍左右。這個函數最大的用處就是在實例化一個未明確定義的類時去尋找相應的文件並載入(是動態載入哦~)。?phpfunction __autoload($class_name) {require_once $class_name . ‘.php’;}$obj = new MyClass1();$obj2 = new MyClass2();ps:為了減少與其它第三方類庫產生衝突的可能,建議不要直接使用__autoload,而是使用spl_autoload_register(PHP 5 = 5.1.0RC1)。ZEND框架用的就是spl_autoload_register2、require前檢查用class_exists或者function_exists檢查一下,確認沒有載入過再出手,至少比require_once能快上3倍。php4也可以用上。class_exists(‘MyClass’) or requir(‘/path/MyClass.class.php’); 還有其他的方法來解決這個問題,但我沒使用過。
php require_once過多是否會導致php性能太差,求各位大大幫助
require_once指的是php內部的變數和函數只會用一次;
require_once需要比較php文件是否被包含過了,使用過多_once肯定會降低效率。
建議把所有公用的函數放到一起,直接用require()函數
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303677.html