我正在使用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个控制器=几个页面的几个功能。否则,这将是很多页面。
非常感谢你的帮助!
答案 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手册中的教程。这将回答很多问题并且非常实用。