我正在創建一個項目,在該項目中創建了託管在同一站點中的兩個應用程序。 我的結構如下...如何在Codeigniter中使用另一個應用程序的模型
現場
- 系統
- 應用
- FONT_END
- back_end
現在的問題是,是否有可能從另一應用程序訪問一個應用程序的模型
作爲示例,我在font_end應用程序中有一個名爲'User_model'的模型。是否有可能從back_end應用程序使用此模型。
謝謝。
我正在創建一個項目,在該項目中創建了託管在同一站點中的兩個應用程序。 我的結構如下...如何在Codeigniter中使用另一個應用程序的模型
現場
現在的問題是,是否有可能從另一應用程序訪問一個應用程序的模型
作爲示例,我在font_end應用程序中有一個名爲'User_model'的模型。是否有可能從back_end應用程序使用此模型。
謝謝。
是的,這是可能的,但有一個但是。從絕對意義上說,你的文件在哪裏並不重要,但它並不一定是世界上最容易完成的事情。
最好的辦法是使用符號鏈接(如果可以的話)並將它們鏈接到模型目錄的子目錄中。這將是簡單和乾淨。除了這個,你應該擴展Loader並覆蓋&model
方法來查找輔助目錄(如果$path == 'frontend'
可能重新分配$ path到備用應用程序的模型文件夾)。
如果這也不是一個選項,加載通過APPPATH.'models/'.$path . '/' .$model.EXT
完成。這意味着您可以通過APPPATH.'models/'
的相對路徑訪問模型。但是,如果你可以避免這樣做,那麼不要這樣做。這是不明顯的,並且是一個錯誤的邀請。
我想你的最後一個版本(容易出錯,我知道),並得到了這樣的結果: Unable to locate the model you have specified: ext.
我用這個負載代碼從我的後端訪問前端模式:
$this->load->model('APPPATH.'/models/frontend/'Frontend_Model'.'EXT');
APPPATH和ext常量應該像變量一樣使用,但是如果我這樣說的話,我的記事本++突出顯示出錯了:
$this->load->model(APPPATH.'/models/hp/'Homepage_Model'.EXT)
管理員/應用/模型/ accounts_model.php 應用/控制器/ home.php
$this->load->model('../../../Unicorn/application/models/accounts_model');