最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入PHP autoload機(jī)制的詳解

 更新時(shí)間:2013年06月09日 14:50:44   作者:  
本篇文章是對(duì)PHP中的autoload機(jī)制進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

在使用PHP的OO模式開(kāi)發(fā)系統(tǒng)時(shí),通常大家習(xí)慣上將每個(gè)類的實(shí)現(xiàn)都存放在一個(gè)單獨(dú)的文件里,這樣會(huì)很容易實(shí)現(xiàn)對(duì)類進(jìn)行復(fù)用,同時(shí)將來(lái)維護(hù)時(shí)也很便 利。這 也是OO設(shè)計(jì)的基本思想之一。在PHP5之前,如果需要使用一個(gè)類,只需要直接使用include/require將其包含進(jìn)來(lái)即可。
下面是一個(gè)實(shí)際的例 子:

復(fù)制代碼 代碼如下:

/* 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 (”P(pán)erson.class.php”);

$person = new Person(”Altair”, 6);
var_dump ($person);
?>


在這個(gè)例子中,no-autoload.php文件需要使用Person類,它使用了require_once將其包含,然后就可以直接使用Person類來(lái)實(shí)例化一個(gè)對(duì)象。

但 隨著項(xiàng)目規(guī)模的不斷擴(kuò)大,使用這種方式會(huì)帶來(lái)一些隱含的問(wèn)題:如果一個(gè)PHP文件需要使用很多其它類,那么就需要很多的require/include語(yǔ) 句,這樣有可能會(huì)造成遺漏或者包含進(jìn)不必要的類文件。如果大量的文件都需要使用其它的類,那么要保證每個(gè)文件都包含正確的類文件肯定是一個(gè)噩夢(mèng)。

PHP5為這個(gè)問(wèn)題提供了一個(gè)解決方案,這就是類的自動(dòng)裝載(autoload)機(jī)制。autoload機(jī)制可以使得PHP程序有可能在使用類時(shí)才自動(dòng)包含類文件,而不是一開(kāi)始就將所有的類文件include進(jìn)來(lái),這種機(jī)制也稱為lazy loading。

下面是使用autoload機(jī)制加載Person類的例子:

復(fù)制代碼 代碼如下:

/* autoload.php */
<?php
function __autoload($classname) {
require_once ($classname . “class.php”);
}

$person = new Person(”Altair”, 6);
var_dump ($person);
?>


相關(guān)文章

最新評(píng)論

兰溪市| 武夷山市| 泉州市| 泾阳县| 高尔夫| 柳河县| 绥德县| 莱州市| 巴里| 蒲江县| 平南县| 康保县| 凤台县| 会昌县| 万源市| 金阳县| 邵阳县| 凭祥市| 乳山市| 咸宁市| 仙游县| 清流县| 房山区| 迁安市| 白玉县| 富阳市| 抚州市| 文成县| 玉树县| 湖口县| 庆城县| 关岭| 观塘区| 宁城县| 杂多县| 古丈县| 宁化县| 揭东县| 来安县| 梅州市| 浠水县|