3

私はHMVCでCodeigniterのTankAuthライブラリを使用しており、tankauthmvcファイル全体が「auth」と呼ばれる独自のモジュールにあります。タンク認証は、以下を使用してフォルダー(auth)内にあるビュー(domain.com/application/modules/auth/views/auth/login_form.php)をロードします。

$this->load->view('auth/login_form', $data);

私の知る限り、上記のコードはHMVCなしでauthフォルダー内にlogin_form.phpを正しくロードします。ただし、HMVCでは、ビューをロードするために次のコードが必要です。

$this->load->view('auth/auth/login_form', $data);

(モジュール名)/(ビューフォルダ名)/(ビューファイル名)でビューファイルを参照する必要がないように変更する必要がある設定はありますか?それとも、これは完全に正常であり、ほとんどの人がこのようにしていますか?

すべてのview()関数呼び出しにモジュールフォルダー名'auth'を追加し、モジュールフォルダーの名前を変更する必要がある場合は、それらすべてを変更する必要があるのは面倒なようです。

4

1 に答える 1

3

Modular Extensions - HMVCを使用していると仮定します:

すでにモジュールとしてセットアップしている場合はauth、次のように呼び出すことができます。

$this->load->view('login_form', $data);

ファイル/views/login_form.phpは現在のモジュール内からロードされます。これは、モデル、言語ファイル、ライブラリなどに適用されます。モジュールを独自のアプリケーションと考えてください。これは、通常行うことです。

さらに、別のモジュールまたはモジュールのディレクトリ外のコントローラーからファイルをロードするには、次を使用できます。$this->load->view('auth/login_form');

ファイルが見つからない場合は、デフォルト ディレクトリを含む他のモジュール パスがチェックされます。これは、他の HMVC パッケージが動作する方法である場合とそうでない場合があります。私にはわかりませんが、MX の動作方法です。

于 2011-06-07T17:52:23.930 に答える