好的,這是一種非描述性的,但我希望做一個網站,我可以添加和刪除「功能」,通過添加和刪除php模塊。 基本上,是否有可能使網站像一個框架,您可以插入和刪除各種php模塊,類似於如何啓用和禁用任何其他程序中的模塊 這是否有意義? :)製作一個支持模塊的php腳本
回答
要走的路是設計你的核心應用程序的接口各種插件(或模塊......)。
例如,您可以決定所有插件必須具有特定的目錄結構。
這使得,例如你的核心libary知道在哪裏可以找到視圖文件,新類等
您可能要決定所有的插件具有相同的名稱init文件,你寫的所有插件初始化代碼,與其他事件(init,end等)一樣。
要集成到核心應用程序的特定菜單中的所有插件應該具有menue.php或其他一些嚴格命名和結構化的配置文件,這些配置文件將告訴您的核心庫哪些菜單將其整合,以及文本等等等等
核心應用 核心應用程序應該在各種重要場所,是插件可以使用/ overidde改變核心應用程序的行爲進行連接進行連接。
我還會建議添加類似於行爲的事件,只是這次核心應用程序觸發它並調用註冊到事件的所有函數。
SUGGESTION 雖然我個人不喜歡埃爾格太多,他們設計的,它會讓你明白很好如何設計一個FW這與插件很容易消耗(試行塔同樣與Joomla的方式,WordPress的)。
我正在思考同樣的問題。我只是不確定這樣的事情會不會出現在php –
@BraunShedd的聯盟中,不,不,不會出現在PHP聯盟之外,人們已經使用PHP這麼多年了。 –
@BraunShedd Facebook運行在PHP上。它可以處理模塊化結構。 – ceejayoz
一個好的模塊化系統比少數幾個包含更多。 – ceejayoz
@ceejayoz我已經解釋了一個通用的方法來做到這一點。而不是使用框架。我不認爲我配得上這個投票。 – InspiredJW
- 1. CSS不支持PHP腳本:
- 2. Magento是否支持模塊的降級/回滾腳本?
- 3. 不支持PHP腳本的SQL備份
- 4. 模塊支持C++
- 5. 支持客戶端與定製硬件通信的PHP腳本
- 6. 製作一個python腳本
- 7. 腳本中的Asm.js支持#
- 8. 支持smime的Webmail腳本
- 9. pymysql(一個python模塊)是否支持像MySQLdb一樣的use_result?
- 10. Flex模塊支持2個客戶端
- 11. ColdBox模塊接口支持?
- 12. Tomcat Bayeux支持/ Tomcat模塊
- 13. 模塊化支持Gradle
- 14. Rangy - 模塊'WrappedSelection'不支持
- 15. fallback.io不支持腳本
- 16. PHP是一個模塊本身
- 17. 在一個腳本中支持多個JavaScript庫
- 18. 想製作一個dnn模塊
- 19. 在Drupal中製作一個模塊
- 20. PHP腳本正在複製Joomla!模塊內容
- 21. 用於gettext支持的CMake模塊?
- 22. PHP哪個版本支持simplexml cdata
- 23. PHP Tidy模塊:不受支持的節點類型?
- 24. 獨立腳本或作爲模塊?
- 25. Python - 導入一個腳本作爲一個模塊完全運行它
- 26. 爲javascript腳本支持和不支持而設計的網站
- 27. 支持Git子模塊的Git的最低版本
- 28. 作爲CGI模塊在PHP腳本中執行Java程序
- 29. new $ className(); php版本支持
- 30. 製作一個JavaScript腳本,從Youtube
當然可以做到。這聽起來像幾乎任何/每個當前的PHP框架。 –
任何想法,但我會怎麼做呢?動態加載和執行一些PHP的? –
有無數的方法可以做到這一點。問題是你想怎麼做/你想達到什麼目的?你只是想加載和執行特定目錄中的每個PHP文件,或者你想知道什麼是加載和時間的押韻和原因?找到一個現有的框架(我喜歡CodeIgniter)並查看控制器,模型,庫等是如何加載的。你可能會決定不要重新發明輪子。 –