目錄
1、php自動載入函式__autoload()
2、更靈活的自動載入(使用者自定義載入函式)
在例項化物件時,呼叫__autoload()方法,自動找到類檔案進行載入。
注意:__autoload()函式只有在試圖使用未被定義的類時自動呼叫。
(1)使用__autoload()函式實現自動載入(init.php)
注意:使用__autoload()方法實現類檔案自動載入時,類檔名與類名要保持一致。
<?php
header('content-type:text/html;charset=utf-8');
/** * 自動載入函式
*/function __autoload($classname)
(2)宣告兩個類檔案用於測試
school.class.php
<?php
class school
}
teacher.class.php
<?php
class teacher
}
(3)例項化類檔案
<?php
//載入init.php檔案
require './init.php';
//例項化school物件
$student=new school;
echo '';
//例項化teacher物件
$teacher=new teacher;
結果:
/** * 使用者自定義載入函式
*///建立乙個自定義載入函式
function user_autoload($classname)
//使用spl_autoload_register()函式將"自定義載入函式user_autoload"註冊到spl_autoload函式棧中。
spl_autoload_register('user_autoload');
spl_autoload_register()函式可以很好地處理多個載入器的情況,它會按順序依次呼叫之前註冊過的載入函式。
PHP物件導向自動載入類檔案
php實現類自動載入有兩種方法 一 autoload autoload是php中的魔術變數 在執行php指令碼中遇到呼叫不存在類時會自動呼叫該方法 例 這裡有兩個檔案 class demo1 class demo2 現在demo1.php 用到 demo2.php檔案 檔案 require once...
PHP物件導向程式設計之命名空間與自動載入類詳解
命名空間 避免類名重複,而產生錯誤。class outputter public function getname obj new outputter 同一命名空間下,類名不能相同,預設命名空間為空。空也是一種命名空間。www.cppcns.com obj setname jack print ob...
PHP物件導向2 類的自動載入
命名空間跟目錄匹配時,可以通過 spl autoload register 定義乙個簡單的載入函式實現類的自動載入 function my autoload pclassname spl autoload register my autoload test sub s1.php s2.php k2....