如何避免使用php程式中的require_once語法?求答案
3 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
使用__autoload php5可以使用__autoload來避免require,用的好的話,代碼裡頭甚至看不到幾個require,實在是安逸啊。測試結果顯示,使用__autoload之後的new Foo; 比require_once 『foo.php』; new Foo; 大概要快3倍左右。
補充:為了避免autoload衝突,可以考慮使用spl_autoload_register(PHP 5 >= 5.1.2)來改變魔術函數__autoload的行為。
使用defined檢驗是否載入過 在代碼開頭使用defined檢驗是否定義過對應的常量,如果有的話,直接return。
<?phpif(!defined('_MYCLASS_'))return;define('_MYCLASS_', 1);
class MyClass { ... }?>測試了一下,defined的效能也不是太好…
require前檢查 用class_exists或是function_exists檢查一下,確認沒有載入過再出手,至少比require_once能快上3倍。
繁星淼淼
TA贡献1775条经验 获得超11个赞
include 包含不上是notice,不影响下面脚本执行。
require 包含错误是致命错误,脚本终止。
一个页面多次包含某文件会报错,
require_once和include_once可以多次包含,不报错。
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
a.php 文件 $db_server="localhost"; b.php 文件 require_once("a.php"); class MysqlConn { private $a; public function __construct($canshu) { $this->a=$canshu; //echo $this->a; } } $m=new MysqlConn($db_server); c.php文件 require_once("b.php"); echo $db_server;
- 3 回答
- 0 关注
- 544 浏览
添加回答
举报
0/150
提交
取消