深入PHP autoload機制的詳解
在使用PHP的OO模式開發(fā)系統(tǒng)時,通常大家習(xí)慣上將每個類的實現(xiàn)都存放在一個單獨的文件里,這樣會很容易實現(xiàn)對類進行復(fù)用,同時將來維護時也很便 利。這 也是OO設(shè)計的基本思想之一。在PHP5之前,如果需要使用一個類,只需要直接使用include/require將其包含進來即可。
下面是一個實際的例 子:
/* Person.class.php */
<?php
class Person {
var $name, $age;
function __construct ($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
/* no_autoload.php */
<?php
require_once (”Person.class.php”);
$person = new Person(”Altair”, 6);
var_dump ($person);
?>
在這個例子中,no-autoload.php文件需要使用Person類,它使用了require_once將其包含,然后就可以直接使用Person類來實例化一個對象。
但 隨著項目規(guī)模的不斷擴大,使用這種方式會帶來一些隱含的問題:如果一個PHP文件需要使用很多其它類,那么就需要很多的require/include語 句,這樣有可能會造成遺漏或者包含進不必要的類文件。如果大量的文件都需要使用其它的類,那么要保證每個文件都包含正確的類文件肯定是一個噩夢。
PHP5為這個問題提供了一個解決方案,這就是類的自動裝載(autoload)機制。autoload機制可以使得PHP程序有可能在使用類時才自動包含類文件,而不是一開始就將所有的類文件include進來,這種機制也稱為lazy loading。
下面是使用autoload機制加載Person類的例子:
/* autoload.php */
<?php
function __autoload($classname) {
require_once ($classname . “class.php”);
}
$person = new Person(”Altair”, 6);
var_dump ($person);
?>
- PHP中spl_autoload_register()和__autoload()區(qū)別分析
- php自動加載autoload機制示例分享
- php中autoload的用法總結(jié)
- PHP中spl_autoload_register函數(shù)的用法總結(jié)
- php中使用__autoload()自動加載未定義類的實現(xiàn)代碼
- 說說PHP的autoLoad自動加載機制
- PHP的autoload機制的實現(xiàn)解析
- PHP __autoload()方法真的影響性能嗎?
- PHP函數(shù)spl_autoload_register()用法和__autoload()介紹
- zend api擴展的php對象的autoload工具
- PHP的autoload自動加載機制使用說明
- PHP之a(chǎn)utoload運行機制實例分析
相關(guān)文章
PHP實現(xiàn)微信公眾號企業(yè)號自定義菜單接口示例
這篇文章主要介紹了PHP實現(xiàn)微信公眾號企業(yè)號自定義菜單接口,結(jié)合實例形式分析了php自定義微信菜單類及微信接口相關(guān)操作技巧,需要的朋友可以參考下2017-08-08PHP通過CURL實現(xiàn)定時任務(wù)的圖片抓取功能示例
這篇文章主要介紹了PHP通過CURL實現(xiàn)定時任務(wù)的圖片抓取功能,涉及php的curl及dom操作相關(guān)技巧,需要的朋友可以參考下2016-10-10