大家知道,在C語言中,我們可以用#define一個MACRO名字,通過檢查是否該MACRO名字定義過來決定該頭文件是否需要引用。在PHP中也有同樣的問題,比如:A引用B,C, B引用C,如果不采取措施,C將被引用2次。這樣可能會導致一些奇怪的問題。
我用定義一個全局變量,並且通過檢查該變量是否定義過來解決這個問題.辦法很簡單,類似C。
只是這個全局變量我建議都用[user_packages] [headfilename]的命名規則。也許這樣會好一些.
if (!empty($GLOBALS[BOOKSTALLS][GLOBALDEFINE])) return;
$GLOBALS[BOOKSTALLS][GLOBALDEFINE] = true;
class bookstalls {...
};
另外,在主程序中盡量采用require_once "headfiles.php"; 以避免重復引用。
這個辦法在我們開發小組中得到了應用,效果還挺好的。您不妨也這樣做。