0
我目前正在建設自己的PHP框架,並正在創建大量的目錄來我的班存儲高效的自動加載功能
這是我當前的自動加載功能:
function __autoload($className)
{
$locations = array('', 'classes/', 'classes/calendar/', 'classes/exceptions/', 'classes/forms/', 'classes/table/', 'classes/user', 'pages/', 'templates/');
$fileName = $className . '.php';
foreach($locations AS $currentLocation)
{
if(file_exists($currentLocation . $fileName))
{
include_once ($currentLocation . $fileName);
return;
}
}
}
現在在我的主類文件我確實已經包含了所有必需的類,因此不需要搜索它們。
這裏是我的問題:
- 足夠此功能有效?會有很多加載時間,或者有什麼方法可以使加載時間最短?
- 是include_once()我應該去包括類的方式嗎?
- 有沒有一種方法可以編寫函數來猜測最流行的文件夾?或者這會佔用太多時間和/或不可能?
- 命名空間會幫助我嗎? (我讀,現在瞭解他們。)
不成熟的優化是萬惡之源。不要浪費時間優化它,直到它實際上成爲您網站的瓶頸。 – GWW 2011-03-18 02:09:09
你也可以將這些子目錄添加到'include_path',只是加載$ filename。命名空間不是一個好方法,但是,目錄映射幾乎是其他框架濫用它們的原因。 – mario 2011-03-18 02:09:38
@mario include_path是什麼?我查了一下,有點困惑。 – Flipper 2011-03-18 02:15:07