ModularExtensionsを使用してモジュールからライブラリをロードする必要があります
このような私の構造
モジュール/
モジュール/カテゴリ/ライブラリ
- カテゴリ_class.php
モジュール/カテゴリ/コントローラ/
カテゴリ.php
カテゴリコントローラにカテゴリライブラリをロードする必要があります。
誰か杖が私を助けてくれますか?
ModularExtensionsを使用してモジュールからライブラリをロードする必要があります
このような私の構造
モジュール/
モジュール/カテゴリ/ライブラリ
モジュール/カテゴリ/コントローラ/
カテゴリ.php
カテゴリコントローラにカテゴリライブラリをロードする必要があります。
誰か杖が私を助けてくれますか?
2つの問題があります。
あなたの質問によると、あなたのカテゴリモジュールは適切に編成されていません。HMVCの全体的な目的は、コードexを区分化することです。モジュール。あなたの現在の質問を考えると、その構造はどのようにしてモジュールフォルダをコピーして別のアプリに貼り付けることができますか?回答:そうではありません。。
以下の例に従ってください
アプリルートからは次のようになります。
/application/
config
modules/
categories/
views
controllers/
categories.php
libraries/
categories_class.php
models
libraries
core
controllers
ユーザーガイドによると:https ://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home
モジュールフォルダ内で参照されるものの前にモジュール名を付ける必要があります。
例えば: $this->load->library('module/library');
またはあなたの場合: $this->load->library('categories/categories_class');
以前にmodulesフォルダー名を除外しようとしましたが、機能しませんでした。
コントローラーは、コントローラー名がモジュール名と一致する場合に、
$this->load->module(’module/controller’);
または単に コントローラー名を使用して、他のコントローラーのクラス変数としてロードできます。$this->load->module(’module’);
ロードされたモジュールコントローラは、ライブラリのように使用できます。つまり、次のようになります
$this->controller->method()
が、呼び出し元とは関係なく、独自のモデルとライブラリにアクセスできます。
私はこのエラー動作について別の見方をしており、約3時間費やしています。実際、Codeigniterのカスタムライブラリでは常に大文字と小文字を組み合わせて使用しています。
Codeigniter HMVCのwiredesigzの場合、ライブラリローダーの動作はCI自体と同じであることに注意してください。実際のクラス名ではなく、常にライブラリクラス名の小文字を使用してください(大文字と小文字の組み合わせかもしれません)。