在CodeIgniter应用程序中,我经常动态生成HTML,如Bootstrap面板,如下所示:
<div class='panel panel-default'>
<div class='panel-heading'>{$content->heading}</div>
<div class='panel-body'>
{$content->something}
{$content->something_else}
{$content->something_entirely_different}
</div>
</div>
关于如何生成panel-body
中的内容,涉及一些逻辑。我通常将这样的逻辑移动到辅助函数,辅助函数将来自数据库的数据数组(即关于文档的数据)作为输入,并返回这样可以加载到最终视图中的格式化HTML面板数组。
我想知道将静态html移出模板文件(即'/application/views/templates/panel_template.html'
)是否更好并生成如下面板:
$panel = $this->load->view('templates/panel_template', array('content'=>$content), TRUE); //third parameter forces the view to be interpreted as a string rather than print it to the browser
...稍后加载。
如果有的话,对我而言,根据MVC原则(逻辑和视图不是在同一文件中编织在一起),这肯定看起来更清晰 简而言之:
$this->load->view();
是否很重?这归结为:是否值得为加载外部文件(感知)增加优雅/清洁而不是PHP字符串中的“硬编码”HTML?