在codeigniter中的视图内部运行

时间:2013-04-04 09:18:46

标签: php codeigniter codeigniter-2

我是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;*/

}

3 个答案:

答案 0 :(得分:1)

这取决于,这些methods应该在controllerslibraries中,这取决于您的方法can be called from browser or not

如果你想使用一些你需要的方法routine 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

检查How to create Own libraries in CI

答案 1 :(得分:1)

更好的方法是在CI中创建一个帮助文件,并将此函数放在帮助文件中。 在'application / helpers'目录中创建帮助文件 然后在调用此视图的控制器中包含此帮助器, 喜欢

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

现在,您可以直接在视图中使用帮助程序文件的所有功能,而无需任何codeigniter实例。

Helpers,顾名思义,可以帮助您完成任务。每个帮助文件只是特定类别中的函数集合。

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

答案 2 :(得分:0)

您应该尽可能地将您的函数放在控制器类中(或者在其他地方,只要您从控制器调用它们)。在那里解析您的数据,然后在视图中循环它。这样可以保持代码的清洁和整洁,并保持MVC原则。