一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php _autoload自動加載類與機制分析

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

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

__autoload()
在實際項目中,不可能把所有的類都寫在一個 php 文件中,當在一個 php 文件中需要調用另一個文件中聲明的類時,就需要通過 include 把這個文件引入。不過有的時候,在文件眾多的項目中,要一一將所需類的文件都 include 進來,一個很大的煩惱是不得不在每個類文件開頭寫一個長長的包含文件的列表。我們能不能在用到什么類的時候,再把這個類所在的 php 文件導入呢?
為此,php 提供了 __autoload() 方法,它會在試圖使用尚未被定義的類時自動調用。通過調用此函數,腳本引擎在 php 出錯失敗前有了最后一個機會加載所需的類。
__autoload() 方法接收的一個參數,就是欲加載的類的類名,所以這時候需要類名與文件名對應,如 Person.php ,對應的類名就是 Pserson 。
下面看個完整的實例
復制代碼 代碼如下:
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運行程序文件如下:
復制代碼 代碼如下:
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技術php _autoload自動加載類與機制分析,轉載需保留來源!

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

主站蜘蛛池模板: 四虎4hu新地址入口 四虎4hu亚洲精品 | 欧美一区二区三区视频 | 日本不卡一区二区三区视频 | 色婷婷5月| 黄色片网站在线免费观看 | 成人国产精品 | 色婷婷久| 国内精品一区视频在线播放 | 4se成人| 色呦呦在线免费观看 | 亚洲成人福利在线观看 | 自拍欧美日韩 | 12p欧美 | 亚洲免费精品视频 | dyav午夜片 | 久久93精品国产91久久综合 | 狠狠综合欧美综合欧美色 | 国产精品丝袜高跟鞋 | 日韩a毛片 | 麻豆a级片| 成人网欧美亚洲影视图片 | 91国内外精品自在线播放 | 亚洲一区二区三区久久精品 | 午夜视频网站在线观看 | 日韩午夜视频在线观看 | 精品国产免费第一区二区 | 亚洲欧美另类久久久精品能播放的 | 欧洲性视频 | 久久伊人久久 | 亚洲综合亚洲综合网成人 | 国产精品人伦久久 | 4338×亚洲全国最大色成网站 | 日韩中文字幕免费观看 | 免费popnhub国产在线视频 | 日本精品一区二区三区在线视频一 | 最新福利小视频在线播放 | 999国内精品永久免费视频 | 婷婷涩涩 | 成人爽a毛片在线视频网站 成人丝袜激情一区二区 | 久久精品视频一区 | 韩国精品韩国专区久久 |