我目前正在用PHP創建我的第一個網站。我不想爲每個單獨的頁面編寫自動加載,而是希望創建一個具有一般自動加載功能的文件。spl_autoload可以放在另一個文件中嗎?
這裏是我的autoloadControl.php
:
// nullify any existing autoloads
spl_autoload_register(null,false);
//specify extensions that may be loaded
spl_autoload_extensions('.php. .class.php');
function regularLoader($className){
$file = $className.'.php';
include $file;
}
//register the loader function
spl_autoload_register('regularLoader');
這裏是我的index.php
文件:
require("header.php");
require("autoloadControl.php");
$dbConnection = new dbControl();
$row=$dbConnection->getLatestEntry();
目前,$dbConnection = new dbControl()
給了我以下錯誤:
Fatal error: Class 'dbControl'
所以我的問題是,有沒有辦法使用自動加載這種方式,或者我必須放置它在我寫的使用另一個文件的每個PHP文件的頂部?
你可以將它放在另一個文件中,這是完全可以的,因爲你需要這個文件。唯一重要的是它被執行,這就是你的代碼的情況。但是你有一個配置問題。哪個文件名有'dbControl'類,哪個目錄放置了所有這些文件? – hakre 2012-08-08 16:32:39
你能粘貼完整的錯誤嗎? – Florent 2012-08-08 16:34:45