1

大家好,

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

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

我也读过一些关于聪明的东西

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

非常感谢您

更新

经过一番谷歌搜索,Laravel 也出现了。它有Blade 作为模板引擎。你们怎么看?

4

1 回答 1

2

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

这是phil的模板库链接模板库

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

于 2013-09-01T06:59:15.160 回答