私はしばらくの間グーグルで行ってきましたが、私の問題の解決策を見つけることができないようです。私は2つのアプリケーション(バックエンドとフロントエンド)を持つCodeigniterインスタンスを持っています。CodeIgniter 3アプリケーションパッケージ間でコアモデルを共有
だから私は、私のこのようなアプリケーションのフォルダに設定しました:今私は間の類似性を持っているバックエンド
を
- ウェブルート/アプリケーション
- フロントエンド
- をモデルなどの2つのアプリケーション。
- ウェブルート/アプリケーション
- フロントエンド(標準のCodeIgniter:だから私は、この(私は場所を正確に覚えていないことができ、インターネット上のどこかにそれを行うには、この方法を発見した)のように、「一般的な」パッケージを作成しました構造)
- バックエンド(標準CodeIgniterの構造)
- 共通
- 設定/
- helpe RS/
- 言語/
- ライブラリ/
- モデル/
それは適切に自動的にロードされますと、私は背中とフロントエンド間のモデルと、そのようなを共有することができます。しかし、今私はMY_Modelを導入したいと思っています。これはアプリケーションフォルダの
core
ディレクトリに置かなければなりません。もちろん、3つのアプリケーションパッケージでモデルを共有したいと思っています。 (私は、フロントエンドとバックエンドのモデルがそれを拡張することを望んでいますが、共通パッケージのモデルも必要です)。これは私が立ち往生する場所です。私は
common
アプリケーションパッケージにcore
フォルダを入れようとしましたが、common
パッケージのモデルでそれを拡張することはできません。Class 'MY_Model' not found in /webroot/application/common/models/News_model.php on line 11
私はどちらか、他のパッケージにそれを拡張するように見える傾けます。
Class 'MY_Model' not found in /webroot/application/backend/models/Ad_model.php
私はMY_modelクラスを3回複製し、3種類のファイルに私はいくつかの新しい機能を追加するたびに編集したいいけません。
これを解決する方法はありますか?私はそれを把握しているようです。
ありがとうございます!
- ウェブルート/アプリケーション
シンボリックリンクはオプションではありません。その共有ホスティングと私は、サーバーへのシェルアクセスを持っていない。グッド思考、ありがとう:) – Clemenz
それはちょうどその1つのファイルです。それぞれの場所にファイルを置き、外側にファイルを含めることができます。 – Phright
あなたは手動で 'require_once'を実行しますか?しかし、まだ、もし私がファイルに変更を加えると、私はもう一方を編集する必要があることを記憶しておきたいとは思わない。また、私は重複を減らしたい、あるいはそれを導入したくない。 – Clemenz