【问题标题】:function inside a view in codeigniter在codeigniter中的视图内函数
【发布时间】:2013-04-04 09:18:46
【问题描述】:

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

}

【问题讨论】:

    标签: php codeigniter codeigniter-2


    【解决方案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

    【讨论】:

    • 谢谢,顺便问一下,我如何在 ci 中创建自己的助手或库? tnx 再次
    • @BasciBsu 不客气,看看ellislab.com/codeigniter/user-guide/general/… 这真的很简单,你会喜欢他们的 ;)
    • @BasciBsu 如果我给你所有你需要的信息,别忘了检查答案;)
    • tnx 你这么多,最后我可以在我的视图中调用我的助手,对吗? :)
    • @BasciBsu 是的,CI 真的很简单 ;) 享受它并享受美好的编码时间 ;)
    【解决方案2】:

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

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

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 我似乎是这样的控制器示例代码 $data['method'] = $this->method();在我看来 $method->method(param)??这是最佳做法吗??
      猜你喜欢
      • 2011-10-22
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多