Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有其他模块的CodeIgniter模板(HMVC?)_Php_Codeigniter_Templates_Smarty_Blade - Fatal编程技术网

Php 带有其他模块的CodeIgniter模板(HMVC?)

Php 带有其他模块的CodeIgniter模板(HMVC?),php,codeigniter,templates,smarty,blade,Php,Codeigniter,Templates,Smarty,Blade,何乐而不为 我对你对这个话题的看法很感兴趣,因为我对它一无所知,但我想把它做好 第一件事。我知道PHP MVC是如何工作的,并在CodeIgniter中使用它。这就是为什么我更喜欢CodeIgniter。但我对其他框架持开放态度 我喜欢在一个框架中创建某种CMS(主要是为了学习和实验)。我以前玩过OpenCart,我喜欢这个模板系统。它有一个模板文件夹,其中包含诸如common、checkout、module等单独的内容 要渲染所有内容,您只需执行以下操作: $this->template

何乐而不为

我对你对这个话题的看法很感兴趣,因为我对它一无所知,但我想把它做好

第一件事。我知道PHP MVC是如何工作的,并在CodeIgniter中使用它。这就是为什么我更喜欢CodeIgniter。但我对其他框架持开放态度

我喜欢在一个框架中创建某种CMS(主要是为了学习和实验)。我以前玩过OpenCart,我喜欢这个模板系统。它有一个模板文件夹,其中包含诸如common、checkout、module等单独的内容

要渲染所有内容,您只需执行以下操作:

$this->template = 'default/template/newsletter/newsletter.tpl';
        $this->children = array(
            'common/header',    
            'common/content_top',
            'common/column_left',
            'common/column_right',
            'common/content_bottom',
            'common/footer'
        );

        $this->response->setOutput($this->render());
在CodeIgniter中,看起来像这样:

    $this->load->view('templates/header', $data);
    $this->load->view('templates/content_top', $data);
    $this->load->view('templates/content_left', $data);
    $this->load->view('pages/'.$page, $data);
    $this->load->view('templates/content_right', $data);
    $this->load->view('templates/content_bottom', $data);
    $this->load->view('templates/footer', $data);
因此,我基本上想要的是,您拥有所有这些独立的文件(标题、列左、列右或其他),并且它们自动(像某种魔术一样)加载到主模板的正确位置,使用正确的数据(数据来自控制器/模型)

我已经读到HMVC是做这件事的正确方法。CodeIgniter的这个“扩展/库”在我搜索这个主题时无处不在

我也读过一些关于

使用HMVC扩展或smarty是正确的方法,还是应该使用整个其他框架?你对此有何看法

非常感谢你

更新


通过谷歌搜索,拉威尔也出现了。它有很多。你们对此有何看法?

我建议你们不要使用任何模板引擎,如果你们有一个大项目,而且你们有很多访问者,因为。模板引擎编译页面并创建页面缓存文件,稍后您会注意到缓存文件的大小超过实际项目,我使用了dwoo模板引擎,但有很多缓存文件,问题是我们无法禁用dwoo中的缓存,我正在手动删除它,但后来我发现了非常好的模板解析器,pyrocms也使用了名称lex,您可以使用phil的模板库来解决模板部分的问题

这是phil的模板库链接


这里是lex模板解析器链接

感谢您的回答。但是不使用引擎,而是使用库/解析器有什么好处呢?(区别是什么?)查看lex parser文档,您可以使用类似于模板引擎的标记,如果您想使用plane php,则只使用同样具有查看模板部分功能的模板库。您可以在此处阅读有关HMVC的更多信息