codeigniter,视图永远不会被直接调用,有人可以解释

时间:2017-04-27 17:41:17

标签: php html codeigniter

我刚开始使用codeigniter。我需要知道解释 视图永远不会直接调用。

这是否意味着我无法将$ this-> load->视图(' My_view')用于另一个视图?

我在核心php中创建了一个项目并决定转换为codeigniter。在我的项目中,页面有不同的部分,所以我在视图中创建了一个主文件recipes.php。我还创建了一个文件夹,我将不同的部分文件包含在recipes.php中。在我的控制器中我加载了配方视图,它显示了食谱页面然后在食谱视图中我使用了$ this-> load->(' categorymenu')。它工作正常。我没有传递任何数据,因为这部分包含简单的html。但我很困惑,它不是加载视图的正确方法。

所以请有人详细解释。我做的是正确的事还是有另一种做法。

我还在控制器中加载了视图并传递给控制器​​中的主视图,这也很完美。但正如我所提到的,我不确定哪种方法是正确的。如果这是一个愚蠢的问题我道歉。

1 个答案:

答案 0 :(得分:0)

因为你对Codeigniter很天真,所以你问的问题是愚蠢的。 现在你的问题的答案是,

  1. 您可以在另一个视图中加载视图,这是绝对可以接受的,因为在某些情况下,您必须在网站的所有页面中放置标题,那时您必须在另一个视图中加载视图。
  2. 其次是加载视图的正确方法是在控制器中。由于控制器是模型和视图之间的中介。如果你想在页面中显示数据库的某些数据,你必须通过模型中创建的函数获取数据,然后在控制器中加载视图后可以传递数据。
  3. 这是控制器的代码

    public function temp()
    {
       $data['recs']=$this->my_model->my_function(); //getting data to pass in view
       $this->load->view('my_view',$data); //load the view
    }