天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php _autoload自動(dòng)加載類與機(jī)制分析

php5之前,如果需要使用一個(gè)類,只需要直接使用include/require將其包含進(jìn)來(lái)即可
test.class.php
復(fù)制代碼 代碼如下:
<?php
class abc{
function __construct()
{
echo 'www.hzhuti.com;
}
}
?>

load.php
代碼如下
復(fù)制代碼 代碼如下:
<?php
class LOAD
{
static function loadClass($class_name)
{
$filename = $class_name.".class.php";
if (is_file($filename)) return include_once $filename;
}
}
/**
* 設(shè)置對(duì)象的自動(dòng)載入
* spl_autoload_register ― Register given function as __autoload() implementation
*/
spl_autoload_register(array('LOAD', 'loadClass'));
$a = new Test();//實(shí)現(xiàn)自動(dòng)加載,很多框架就用這種方法自動(dòng)加載類
?>

__autoload()
在實(shí)際項(xiàng)目中,不可能把所有的類都寫(xiě)在一個(gè) php 文件中,當(dāng)在一個(gè) php 文件中需要調(diào)用另一個(gè)文件中聲明的類時(shí),就需要通過(guò) include 把這個(gè)文件引入。不過(guò)有的時(shí)候,在文件眾多的項(xiàng)目中,要一一將所需類的文件都 include 進(jìn)來(lái),一個(gè)很大的煩惱是不得不在每個(gè)類文件開(kāi)頭寫(xiě)一個(gè)長(zhǎng)長(zhǎng)的包含文件的列表。我們能不能在用到什么類的時(shí)候,再把這個(gè)類所在的 php 文件導(dǎo)入呢?
為此,php 提供了 __autoload() 方法,它會(huì)在試圖使用尚未被定義的類時(shí)自動(dòng)調(diào)用。通過(guò)調(diào)用此函數(shù),腳本引擎在 php 出錯(cuò)失敗前有了最后一個(gè)機(jī)會(huì)加載所需的類。
__autoload() 方法接收的一個(gè)參數(shù),就是欲加載的類的類名,所以這時(shí)候需要類名與文件名對(duì)應(yīng),如 Person.php ,對(duì)應(yīng)的類名就是 Pserson 。
下面看個(gè)完整的實(shí)例
復(fù)制代碼 代碼如下:
class ClassA{
public function __construct(){
echo “ClassA load success!”;
}
}
//定義一個(gè)類ClassA,文件名為ClassA.php
class ClassA{
public function __construct(){
echo “ClassA load success!”;
}
}
class ClassB extends ClassA {
public function __construct(){
//parent::__construct();
echo “ClassB load success!”;
}
}
//定義一個(gè)類ClassB,文件名為ClassB.php,ClassB繼承ClassA
class ClassB extends ClassA {
public function __construct(){
//parent::__construct();
echo “ClassB load success!”;
}
}

定義兩個(gè)測(cè)試用的類之后,我們來(lái)編寫(xiě)一個(gè)含有__autoload()方法的php運(yùn)行程序文件如下:
復(fù)制代碼 代碼如下:
function __autoload($classname){
$classpath=”./”.$classname.'.php';
if(file_exists($classpath)){
require_once($classpath);
}
else{
echo ‘class file'.$classpath.'not found!';
}
}
$newobj = new ClassA();
$newobj = new ClassB();

php技術(shù)php _autoload自動(dòng)加載類與機(jī)制分析,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 老师你下面好紧夹死了 | 高H内射NP古文 | 午夜人妻理论片天堂影院 | 伊人久99久女女视频精品免 | 二级毛片在线观看 | 精品国产在线国语视频 | 欧美无码专区 | 伦理 电影在线观看 | 国产色婷婷精品人妻蜜桃成熟时 | 2017日日干 | 亚洲精品久久久久久久蜜臀老牛 | 2021久久99国产熟女人妻 | 日韩丰满少妇无码内射 | 亚洲人成在线播放网站岛国 | 九九在线免费视频 | 成人在线免费视频播放 | 娇妻玩4P被三个男人伺候电影 | 女人高潮时一吸一夹 | 久久亚洲AV成人无码国产漫画 | 999国产高清在线精品 | 成人久久欧美日韩一区二区三区 | 青青青青青青青草 | 色综合欧美色综合七久久 | 歪歪爽蜜臀AV久久精品人人槡 | 校花在公车上被内射好舒 | 国产成人精品视频频 | 亚洲AV无码国产精品色午夜情 | 成人网18免费韩国 | 医生含着我的奶边摸边做 | 69日本人XXXX护士HD | 最新国产精品视频免费看 | 开心成人社区 | 草神被爆漫画羞羞漫画 | 高干紧射H后入 | 阿娇和冠希13分钟在线观看 | 久草在线福利视频在线播放 | 伦理片在线线手机版韩国免费观看 | 美女图片131亚洲午夜 | 色翁荡息又大又硬又粗又爽电影 | 亚洲精品免费在线视频 | 男人的天堂色 |