2012-02-10 61 views
0

因此,codeigniter有應用程序和系統。我想添加另一個名爲「platform」的文件夾,它將具有與應用程序(控制器,視圖和所有內容)相同的目錄結構。代碼點火器子應用程序

我想如何工作是這樣的: - 當你加載模型,視圖,庫,控制器等應該首先檢查應用程序(如果它不在那裏,它應該檢查平臺,如果它不存在它應該顯示錯誤) - 我想在「平臺」中製作一些基本模型和控制器,並在「應用程序」中創建所有控制器和模型以繼承它們。我想在「平臺」中擴展基本的核心和庫類「並且如果需要的話,它們將在」應用程序「中被擴展

我不知道代碼點火器是否已經可以做到這一點,或者它是否需要做某件事情。

基本上它就像cakephp的插件(如果有人知道他們是如何/工作)。

問題:

我該如何做到上述?

+1

你的問題似乎並不有一個問題。 – Mischa 2012-02-10 16:14:50

+0

我編輯過:我的問題是:我該怎麼做。 – 2012-02-10 16:19:02

+0

您可以讓2個「應用程序」共享相同的系統文件夾,但它們彼此獨立。要做你想做的事,你必須編輯'system/core'中的'Loader.php'。 – 2012-02-10 16:27:56

回答

2

有一個「third_party」文件夾,您可以在其中添加「子應用程序」,或稱爲Application "Package"

「應用程序包允許在單個目錄中輕鬆分發完整的資源集,並配有自己的庫,模型,幫助程序,配置文件和語言文件。建議將這些軟件包放入應用程序/文件夾THIRD_PARTY ......」

來源: http://codeigniter.com/user_guide/libraries/loader.html

這是應用程序文件夾內完成(它幾乎下降在文檔的底部)。 有可能的方式來實現你想要什麼,把你的文件夾中的應用程序之外,通過這樣做:

$this->load->add_package_path(PATH_OUTSIDE_APPLICATIONS.'/my_package/'); 

代替:

$this->load->add_package_path(APPPATH.'third_party/my_package/'); 

它是否會工作,但我還沒有測試。但你可以試試!

+0

我聽不到這聽起來有多棒。明天將試一試:D – 2012-02-10 21:33:03

0

您必須對文件進行一些修改,但可以使用不同的應用程序文件創建兩個文件夾,然後使用$ application_folder變量將兩個單獨的索引文件指向每個文件夾。

我從來沒有真正嘗試過這個,但它應該工作。確保你也更新$ system_folder var。

這裏更多:

http://codeigniter.com/user_guide/general/managing_apps.html