codeigniter:一个控制器的几个动作

时间:2015-08-16 19:30:48

标签: php codeigniter symfony frameworks

我正在使用codeigniter。我目前正在研究我的路线和控制器。 上周,我探索了symfony2,我喜欢这样的东西:

class DefaultController extends Controller
{

    public function indexAction()
    {
        return $this->render('LVIndexBundle:Default:index.html.twig');
    }

    public function servicesAction()
    {
        return $this->render('LVIndexBundle:Default:services.html.twig');
    }

    public function shoppingAction()
    {
        return $this->render('LVIndexBundle:Default:services.html.twig');
    }

在控制器中,每个操作都会呈现一个视图。

我想在codeigniter中做同样的事情 - >得到几个导致不同观点的功能/动作。

我是codeigniter的新手。到目前为止,我理解1个控制器= 1个视图。 我想获得1个控制器=几个页面的几个功能。否则,这将是很多页面。

非常感谢你的帮助!

3 个答案:

答案 0 :(得分:0)

根据我的经验:

在CI中,控制器可以有超过1个视图 php文件

ex (函数indexAction作为控制器函数):

public function indexAction()
{
   $this->load->view('header');
   $this->load->view('content');
   $this->load->view('footer');
}

答案 1 :(得分:0)

在Symfony和Codeigniter中,控制器只是可以容纳多种方法的类。调用的方法(在Symfony中称为Actions)是决定必须呈现哪些视图的位置。 Symfony和CI控制器之间的主要区别之一是Symfony使用的路由。这些路线使Symfony比CI更灵活。

take a look for an explanation of CI controllers

P.S。 Symfony比CI更先进。我想建议你Symfony: - )

答案 2 :(得分:0)

每个控制器应该有一个视图,这绝对不是真的。甚至可以像验证表单一样简单 - 根据验证是否通过,您将调用不同的视图。

强烈建议您逐步完成codeigniter手册中的教程。这将回答很多问题并且非常实用。