CodeIgniter模板与其他模块(HMVC?)

时间:2013-08-31 21:11:22

标签: php codeigniter templates smarty blade

Hy all,

我对您对此主题的看法感兴趣,因为我对此一无所知,但我想做得对。

首先要做的事情。我知道PHP MVC在CodeIgniter中如何工作和使用它。这就是我更喜欢CodeIgniter的原因。但是我对其他框架持开放态度。

我喜欢在框架中创建某种CMS(主要用于学习和实验)。我以前玩过OpenCart,我喜欢那个模板系统。它有一个模板文件夹,包含常用,结帐,模块等单独的东西。

你要做的唯一一件事就是:

$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的这个“扩展/库”在我搜索这个主题的任何地方都会回来:codeigniter-modular-extensions-hmvc

我也读过有关smarty

的内容

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

非常感谢你

更新

经过一番谷歌搜索,Laravel也出现了。它有Blade as template engine。你们怎么看待这个?

1 个答案:

答案 0 :(得分:2)

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

这是phil的模板库链接Template library

这里是lex模板解析器链接Lex Template parser