请问一下该如何避免使用php程式中的require_once語法?求答案

如何避免使用php程式中的require_once語法?求答案


繁星点点滴滴
浏览 545回答 3
3回答

繁花不似锦

使用__autoload&nbsp;php5可以使用__autoload來避免require,用的好的話,代碼裡頭甚至看不到幾個require,實在是安逸啊。測試結果顯示,使用__autoload之後的new Foo; 比require_once&nbsp;『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&nbsp;文件 $db_server="localhost"; b.php&nbsp;文件 require_once("a.php"); class&nbsp;MysqlConn&nbsp;{ &nbsp;&nbsp;private&nbsp;$a; &nbsp;&nbsp;public&nbsp;function&nbsp;__construct($canshu)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$this->a=$canshu; //echo&nbsp;$this->a; &nbsp;&nbsp;} } $m=new&nbsp;MysqlConn($db_server); c.php文件 &nbsp;require_once("b.php"); &nbsp;&nbsp;echo&nbsp;$db_server;
打开App,查看更多内容
随时随地看视频慕课网APP