下面做乙個小實驗,用以體現自動載入的過程。
首先我的目錄結構是這樣的。。 .
|-- call_header.php
|-- caller.php
|-- dir
| `-- callee.php
下面是call_header.php的內容
<?php
function __autoload($classname).php" ;}
?>
這是caller.php的內容
<?php
require_once("call_header.php");
class caller }
$caller = new caller();
$caller->notify();
?>
這是dir目錄下的callee.php的內容
<?php
class dir_callee }
?>
這裡面實現了pear風格的函式名來找到資料夾中的檔案的過程:
當caller中呼叫這行**
$callee = new dir_callee();
的時候,因為在caller檔案中,我們沒有requiredir_callee ,所以會呼叫__autoload 函式解析將'_'變為『/』後準備載入dir/callee.php .
載入這個檔案後,就可以使用callee.php 函式中的dir_callee 這個類了。當然你要清楚,一般php能直接載入當前目錄下的dir/callee.php 是因為include_path 下包含『點』。
php 載入 php自動載入方式
本篇文章介紹的內容是關於php自動載入方式,現在分享給大家,有需要的朋友可以參考一下這篇文章的內容 php載入檔案方式 1 include,include once,requice,requice one常規載入 2 autoload 3 spl autoload register 常規載入方式 假...
php自動載入
很多開發者寫物件導向的應用程式時對每個類的定義建立乙個 php 原始檔。乙個很大的煩惱是不得不在每個指令碼 每個類乙個檔案 開頭寫乙個長長的包含檔案列表。在 php 5 中,不再需要這樣了。可以定義乙個 autoload 函式,它會在試圖使用尚未被定義的類時自動呼叫。通過呼叫此函式,指令碼引擎在 p...
php自動載入
php自動載方法有兩種.第一種方案用 autoload,這個函式較簡單,也較弱.但有一問題沒有解決,就是在include前判斷檔案是否存在的問題.1 2 3 4 5 6 7 8 9 10 11 12 13 set include path aa path separator get include ...