色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

深入PHP autoload機制的詳解

在使用php的OO模式開發系統時,通常大家習慣上將每個類的實現都存放在一個單獨的文件里,這樣會很容易實現對類進行復用,同時將來維護時也很便 利。這 也是OO設計的基本思想之一。在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類來實例化一個對象。

但 隨著項目規模的不斷擴大,使用這種方式會帶來一些隱含的問題:如果一個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技術深入PHP autoload機制的詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 绥德县| 仙桃市| 烟台市| 上栗县| 阿荣旗| 永胜县| 辛集市| 望江县| 荥阳市| 探索| 阿城市| 张家界市| 化隆| 遵义县| 卓资县| 通山县| 巩留县| 六盘水市| 石城县| 莲花县| 永定县| 清镇市| 寿阳县| 林芝县| 资溪县| 香河县| 兴义市| 淳化县| 五寨县| 赣榆县| 申扎县| 桃江县| 大英县| 抚州市| 洞头县| 怀仁县| 晋中市| 寿光市| 东光县| 左权县| 祁阳县|