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

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

php5之前,如果需要使用一個類,只需要直接使用include/require將其包含進(jìn)來即可
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è)置對象的自動載入
* spl_autoload_register ― Register given function as __autoload() implementation
*/
spl_autoload_register(array('LOAD', 'loadClass'));
$a = new Test();//實現(xiàn)自動加載,很多框架就用這種方法自動加載類
?>

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

定義兩個測試用的類之后,我們來編寫一個含有__autoload()方法的php運行程序文件如下:
復(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自動加載類與機(jī)制分析,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 亚洲精品久久久无码 | 国产免费看片 | 69亞洲亂人倫AV精品發布 | 偷偷鲁手机在线播放AV | 国产精品99久久免费黑人人妻 | 9久高清在线不卡免费无吗视频 | 精品人妻无码一区二区三区蜜桃臀 | 久99久热只有精品国产99 | 亚洲成A人片在线观看中文不卡 | 0855福利| 成人女人A级毛片免费软件 成人免费在线视频 | 国产亚洲精品首页在线播放 | 亚洲国产高清视频在线观看 | 中文字幕亚洲欧美在线视频 | 亚洲综合日韩在线2019 | 又黄又猛又爽大片免费 | 红番阁免费观看 | 精品一区二区三区在线成人 | 日日操夜夜操狠狠操 | 99爱免费视频 | 肉肉高潮液体高干文H | 一二三四在线视频社区8 | 久久青青无码AV亚洲黑人 | 一日本道伊人久久综合影 | 精品九九视频 | 综合色就爱涩涩涩综合婷婷 | 国产亚洲精品影视在线 | 护士WC女子撒尿 | 亚洲精品一区二区在线看片 | 免费在线观看黄色网址 | 国产白丝精品爽爽久久久久久蜜臀 | 精品无码人妻一区二区免费AV | 黑丝女仆恋上我 | 精品无码无人网站免费视频 | 久久九九少妇免费看A片 | 国产在线精品国自产拍影院午夜 | 亚洲精品成人a在线观看 | 国产51麻豆二区精品AV视频 | 国产午夜一级鲁丝片 | 视频一区国产在线二区 | 国产精品亚洲二线在线播放 |