2011-12-22 16 views
4

在過去的幾年中,我一直在開發基於CodeIgniter的Web應用程序。 CI迄今爲止服務的很好,但對於下一代的軟件,我期待轉向PHP 5.3和更強大的框架。自從它在大約一年前出現以來,我一直在觀看FuelPHP,現在我已經認真開始開發下一個版本的應用程序,我有興趣爲FuelPHP提供支持。FuelPHP中的多個應用程序目錄

我的應用程序依賴於使用多個應用程序目錄。本質上,有一個系統應用程序它具有系統的核心功能,管理員不應觸及的代碼,因爲它將在更新期間更改。另外,還有一個用戶應用程序目錄管理員可以擴展和覆蓋系統類。通過這種方式,管理員可以定製系統而無需觸摸系統核心(從而在更新系統時避免它們丟失修改)。當來自URL的請求進入時,我希望系統首先檢查用戶應用程序目錄。如果它沒有在那裏找到控制器,移動到系統應用程序目錄(理論上,它應該找到該文件)並使用該控制器。

我不想犯一個CI或Kohana的心態來解決這個問題,所以我想知道的是在FuelPHP中做這件事的最好方法是什麼?由於我對FuelPHP沒有多少經驗,所以我希望有人能夠給我一些提示或推動我朝着正確的方向前進。

謝謝!

回答

8

FuelPHP有一個'app'文件夾,您可以將其視爲應用程序的核心。對於較小的應用程序,它也可以包含應用程序代碼。

對於較大和/或更復雜的應用程序,請使用模塊。一個模塊與'app'具有完全相同的文件夾結構,但它存在於它自己的命名空間(=模塊文件夾名稱)中。 FuelPHP支持多個模塊位置,因此您可以擁有一個包含您在不同網站上共享的模塊的位置,以及特定於您的網站的模塊。

沒有任何特殊路由,如果URI中的第一個段是模塊名稱,則將加載該模塊中的控制器。

+0

感謝您的快速響應!我讀過關於使用像今天早些時候的模塊和控制器,它的工作很好。然而,當你進入擴展我的核心類,替換我的核心視圖和覆蓋我的配置文件等事情時,它會變得非常混亂(據我所知)。還有其他方法可以輕鬆完成這些事情嗎?還是我在這一方面運氣不好? – agentphoenix 2011-12-23 20:20:11

+0

我想補充一點,「app」文件夾就是Fuel Box出廠時默認的應用程序文件夾。您可以隨意命名該文件夾,並創建並排放置的多個應用程序文件夾。主要的「index.php」指向特定的應用程序文件夾,因此可以有多個指向不同應用程序文件夾的入口點。每個應用程序文件夾可以作爲獨立的應用程序與其自己的數據庫一起運行,也可以共享資源 - 這全部歸結於配置文件。 – Jason 2012-01-28 21:57:21

相關問題