首先,一些背景知識。在我工作的公司使用了大量的功能 /類庫,它被包括每一個頁面上。成千上萬的函數,其中90%可能甚至不會在頁面上調用。自動加載功能所需/類庫時
在試圖減輕服務器的負載一點點,我一直在嘗試用更聰明的庫設置。爲此,我已將整個文件拆分爲分類庫文件(即sql.functions.php,date.functions.php等)。
不幸的是,包括每個頁面上的每個文件都無濟於事根本不可能,並且有選擇地包含文件幾乎是不可能的並且非常容易出錯。
我正在尋找的是類似PHP的___autoload()
功能,可自動搜索未知的類開始的情況下,特別命名的文件,試圖找到它的設置。
<?php
function ___autoload($class_name) {
require_once($class_name.'.class.php');
}
?>
但是,此函數不適用於函數調用,僅適用於類。
當調用未定義的函數(即html_insert_button();
)時,是否有辦法指示PHP自動查找幷包含命名函數庫?
(在上述情況下,html_functions.php
將需要加載,因爲這股函數的前綴)
如果使用APC,就可以大大降低包括這些文件的開銷。除此之外,你最好的選擇就是將這些函數轉換成類(你可以將它們變成靜態的,這樣你可以幾乎相同地調用它們),所以你可以利用自動加載。 – 2009-07-30 20:13:47