2011-09-23 42 views
2

好的,這是一種非描述性的,但我希望做一個網站,我可以添加和刪除「功能」,通過添加和刪除php模塊。 基本上,是否有可能使網站像一個框架,您可以插入和刪除各種php模塊,類似於如何啓用和禁用任何其他程序中的模塊 這是否有意義? :)製作一個支持模塊的php腳本

+3

當然可以做到。這聽起來像幾乎任何/每個當前的PHP框架。 –

+0

任何想法,但我會怎麼做呢?動態加載和執行一些PHP的? –

+0

有無數的方法可以做到這一點。問題是你想怎麼做/你想達到什麼目的?你只是想加載和執行特定目錄中的每個PHP文件,或者你想知道什麼是加載和時間的押韻和原因?找到一個現有的框架(我喜歡CodeIgniter)並查看控制器,模型,庫等是如何加載的。你可能會決定不要重新發明輪子。 –

回答

2

要走的路是設計你的核心應用程序的接口各種插件(或模塊......)。

例如,您可以決定所有插件必須具有特定的目錄結構。
這使得,例如你的核心libary知道在哪裏可以找到視圖文件,新類等

您可能要決定所有的插件具有相同的名稱init文件,你寫的所有插件初始化代碼,與其他事件(init,end等)一樣。

要集成到核心應用程序的特定菜單中的所有插件應該具有menue.php或其他一些嚴格命名和結構化的配置文件,這些配置文件將告訴您的核心庫哪些菜單將其整合,以及文本等等等等

核心應用 核心應用程序應該在各種重要場所,是插件可以使用/ overidde改變核心應用程序的行爲進行連接進行連接。

我還會建議添加類似於行爲的事件,只是這次核心應用程序觸發它並調用註冊到事件的所有函數。

SUGGESTION 雖然我個人不喜歡埃爾格太多,他們設計的,它會讓你明白很好如何設計一個FW這與插件很容易消耗(試行塔同樣與Joomla的方式,WordPress的)。

+0

我正在思考同樣的問題。我只是不確定這樣的事情會不會出現在php –

+1

@BraunShedd的聯盟中,不,不,不會出現在PHP聯盟之外,人們已經使用PHP這麼多年了。 –

+0

@BraunShedd Facebook運行在PHP上。它可以處理模塊化結構。 – ceejayoz

0

您可以採取程序和麪向對象的方式。函數或類,然後

寫一堆包括或當您使用它們需要的文件

include

include_once

require

require_once

可用於使用這些函數和類

+0

一個好的模塊化系統比少數幾個包含更多。 – ceejayoz

+0

@ceejayoz我已經解釋了一個通用的方法來做到這一點。而不是使用框架。我不認爲我配得上這個投票。 – InspiredJW