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。你们怎么看待这个?
答案 0 :(得分:2)
我建议你不要使用任何模板引擎,如果你有大项目,你需要很多访问者,因为。模板引擎编译页面并创建一个页面缓存文件,你会发现你的缓存文件大小比实际项目大,我使用了dwoo模板引擎,但是很多缓存文件和问题是我们无法在dwoo中禁用缓存是手动删除,但后来我发现非常好的模板解析器,其中pyrocms也使用名称lex,你可以使用这个与phil的模板库可以解决你的模板部分问题。
这是phil的模板库链接Template library
这里是lex模板解析器链接Lex Template parser