0

コントローラクラスには、次の関数があります。

public function index(){
    $this->load->helper('url');
    $data['title'] = 'News archive';
    $this->load->view('news/index', $data);
}

news / indexでanchor()を使用しているため、ヘルパーURLをロードします。したがって、親関数にヘルパーをロードするだけで十分であるように思われ、ニュース/インデックス内にロードする必要はありません。

だから私の質問は、これを可能にするCIの下で何が起こっているのかということです。load-> view関数ですか、それとも$ dataにニュース/インデックスを実行した結果を貼り付けていますか?load-> viewは、ヘルパーURLがインデックスにロードされたことをどのように認識しますか?私はまだCIフレームワークがどのように機能するかを理解しようとしています。

また、必要に応じて、ヘルパー、コンストラクター、または各関数をロードするのに最適な場所はどこでしょうか。

4

2 に答える 2

5
Also what would be the best place to load helper, in the constructor, or in each function as we need it?

大まかな目安として、

  • ヘルパーをコントローラーで1回使用する場合は、その特定の機能に配置します
  • ヘルパーをコントローラーの複数の場所で使用する場合-そのコントローラーコンストラクターに配置します
  • 複数のコントローラーの複数の場所でヘルパーを使用する場合は、「autoload」セクションに一度配置します。
于 2012-11-28T08:06:50.603 に答える
1

codeigniterでローダークラスを通過すれば、すべての答えを得ることができます...

path >> system/core/loader.php

行われることはすべてここにあります。

そして最後の質問です。ユーザーガイドによると

http://ellislab.com/codeigniter/user-guide/libraries/loader.html

ローダーは、その名前が示すように、要素をロードするために使用されます。これらの要素は、ライブラリ(クラス)ビューファイル、ヘルパー、モデル、または独自のファイルにすることができます。

つまり、要素をロードするだけなので...私は通常(推奨)必要に応じて各関数にロードします。(他の関数でも同じ要素が必要な場合を除きます)

于 2012-11-28T06:33:47.437 に答える