-
繁花不似锦
使用__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倍。
-
繁星淼淼
include 包含不上是notice,不影响下面脚本执行。require 包含错误是致命错误,脚本终止。一个页面多次包含某文件会报错,require_once和include_once可以多次包含,不报错。
-
斯蒂芬大帝
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;