我試圖找到最好的實用方法來即時導入功能......讓我解釋一下。PHP導入功能
說我有一個名爲功能目錄具有以下文件:
array_select.func.php
stat_mediam.func.php
stat_mean.func.php
.....
我想:加載每個單獨的文件(其內部定義的函數),並使用它,就像一個內部php函數..例如array_pop(),array_shift()等。
一旦我偶然發現了一個教程(我現在再也找不到),它將用戶定義函數編譯爲PHP安裝的一部分。雖然這不是一個很好的解決方案,因爲在shared/res上託管你的eller不能重新編譯PHP安裝。
我不想與未來版本的PHP /其他擴展衝突,即如果一個名爲X的函數突然成爲內部php函數的一部分(即使它本身可能沒有相同的功能)我不希望PHP因此而拋出致命錯誤,並且慘敗。
所以,我能想到的最好的方法是,以檢查是否函數定義使用function_exists(),如果是拋出一個通知,這樣很容易在日誌文件來跟蹤,否則定義函數。然而,這可能會轉化爲在其他文件中有很多include/require語句,我需要這樣一個函數,而我並不喜歡這樣的函數。或者可能讀取目錄並遍歷每個* .func.php文件和include_once。雖然我覺得這有點難看。
問題是,你有沒有偶然發現過一些處理這種情況的源代碼?它是如何實施的?你有沒有做過類似的事情?我需要儘可能多的想法! :)
爲什麼一個班不做的特殊原因?動態加載每個單獨的功能將會變得越來越難以維護,可能不是那麼實用。 – tadamson 2010-03-16 20:09:26
爲了保持能力,我可能最終會這樣做。 – 2010-03-16 20:23:17
考慮到這個問題沒有太多答案(不是我很驚訝),我會看看我能想出什麼來滿足速度/可維護性/實用性。如果我確實找到滿足此要求的解決方案,那麼我會回來並將其發佈到此處;) – 2010-03-16 20:53:21