php使用魔術函數__autoload自動引入實例化對象文件,示例代碼如下:
<?php
//魔術函數 __autoload
function __autoload($className) // Libs\A => ./Libs/A.php
{
//將反斜線 \ 替換成 /
$class = str_replace('\\','/',$className); // Libs/A => ./Libs/A.php
//拼接文件的路徑
$path = './'.$class.'.php';
//檢測文件是否存在
if(file_exists($path)) {
//引入該類文件
include $path;
}
}
//如果當前類的空間路徑跟文件所處的路徑保持一致的話 很容易獲取到當前類文件的位置
// $obj = new \Org\Obj;
//實例化a對象
// $a = new \Libs\A;
//實例化B對象
// $b = new \Org\B;
//實例化D對象
// $d = new \A\B\C\D;
var_dump($d);
?>