3

私はの初心者です。ci誰かが私を助けたり、私のコードやベストプラクティスでいくつかの提案をしたりできますか? 巨大なデータを表示するために関数を使用する必要があるforeachステートメントがあります。これが私のビューのサンプルコードです。前もって感謝します

 foreach($data->result() as $d){

    if($d->condi){
       $sample =   myfunction($d->value1, $d->value2, $value->3);
    } 
    else{ 
         $d->otherdisplay;
            if($d->condition2){
            $sample =   myfunction($d->value1, $d->value2, $value->3);
            }
    }
}
function myfunction($a,$b,$c){
       /*do something;*/

}
4

3 に答える 3

1

いずれにせよ、これらの種類はmethodsincontrollersまたは inlibrariesである必要があります。方法によって異なりますcan be called from browser or not

いくつかのメソッドを使用したい場合は、makesomeroutine actionを使用する必要があります。

library or an helper

web page method使用したい場合controller

 Model = SQL and db stuffs

 Controller = all the php stuffs + data returned from Model

 View = html/js + data returned from Controller

CIで独自のライブラリを作成する方法を確認してください

于 2013-04-04T09:29:21.033 に答える
1

より良いアプローチは、CI でヘルパー ファイルを作成し、この関数をヘルパー ファイルに入れることです。'application/helpers'ディレクトリにヘルパー ファイルを作成します。次に、このビューを呼び出しているコントローラーにこのヘルパーを含めます。

$this->load->helper('name');

これで、ヘルパー ファイルのすべての関数を、codeigniter インスタンスなしでビューで直接使用できるようになりました。

ヘルパーはその名の通り、仕事を手伝ってくれます。各ヘルパー ファイルは、特定のカテゴリの関数の集まりです。

http://ellislab.com/codeigniter/user-guide/general/helpers.html

于 2013-04-04T09:31:35.987 に答える
0

関数は、できる限りコントローラー クラスに配置する必要があります (コントローラーから呼び出す場合は、別の場所に配置する必要があります)。そこでデータを解析し、ビューでループします。これにより、コードがクリーンで整理された状態に保たれ、MVC の原則に忠実に保たれます。

于 2013-04-04T09:21:38.837 に答える