PHP的自動加載類

作者:網絡 | 發布時間:2020年10月30日 | 閱讀:769

使用 spl_autoload_register() 來注冊你的自動加載函數。

PHP 提供了若幹方式來自動加載包含還未加載的類的文件。 老的方法是使用名爲 autoload() 魔術全局函數。 然而你一(yī)次僅能定義一(yī)個 autoload() 函數,因此如果你的程序包含一(yī)個也使用了 __autoload() 函數的庫,就會發生(shēng)沖突。

處理這個問題的正确方法是唯一(yī)地命名你的自動加載函數,然後使用 spl_autoload_register() 函數來注冊它。 該函數允許定義多個 autoload() 這樣的函數,因此你不必擔心其他代碼的 autoload() 函數。

示例

<?php
// 首先,定義你的自動載入的函數
function MyAutoload($className){
    include_once($className . '.php');
}

// 然後注冊它。
spl_autoload_register('MyAutoload');

// Try it out!
// 因爲我(wǒ)們沒包含一(yī)個定義有 MyClass 的文件,所以自動加載器會介入并包含 MyClass.php。
// 在本例中(zhōng),假定在 MyClass.php 文件中(zhōng)定義了 MyClass 類。
$var = new MyClass();
?>


相關内容