2011-07-20 13 views
0

我正在創建一個項目,在該項目中創建了託管在同一站點中的兩個應用程序。 我的結構如下...如何在Codeigniter中使用另一個應用程序的模型

現場

  • 系統
  • 應用
    • FONT_END
    • back_end

現在的問題是,是否有可能從另一應用程序訪問一個應用程序的模型

作爲示例,我在font_end應用程序中有一個名爲'User_model'的模型。是否有可能從back_end應用程序使用此模型。

謝謝。

回答

1

是的,這是可能的,但有一個但是。從絕對意義上說,你的文件在哪裏並不重要,但它並不一定是世界上最容易完成的事情。

最好的辦法是使用符號鏈接(如果可以的話)並將它們鏈接到模型目錄的子目錄中。這將是簡單和乾淨。除了這個,你應該擴展Loader並覆蓋&model方法來查找輔助目錄(如果$path == 'frontend'可能重新分配$ path到備用應用程序的模型文件夾)。

如果這也不是一個選項,加載通過APPPATH.'models/'.$path . '/' .$model.EXT完成。這意味着您可以通過APPPATH.'models/'的相對路徑訪問模型。但是,如果你可以避免這樣做,那麼不要這樣做。這是不明顯的,並且是一個錯誤的邀請。

0

我想你的最後一個版本(容易出錯,我知道),並得到了這樣的結果: 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)

0

管理員/應用/模型/ accounts_model.php 應用/控制器/ home.php

將這個代碼在home.php使用管理的一個應用的模型

 $this->load->model('../../../Unicorn/application/models/accounts_model'); 
相關問題