codeigniter中的模板解析实际上是如何工作的?
我在视图文件中有以下部分
<h2>{blog_heading}</h2>
<div>{blog_entries}</div>
并在控制器中
$this->load->library('parser');
$data = array(
'blog_heading' => 'My Blog Title',
'blog_entries' => $products_array()
);
$this->parser->parse('blog_template', $data);
效果很好,但问题是我有很多像这样的标签,所以我需要在控制器上定义一切吗?
问题在于性能,用户每次都不会使用所有标签。
请帮我解决问题。
由于
答案 0 :(得分:-1)
回答你的问题,是的,你应该在控制器上创建所有变量。当用户访问您的控制器时,您可以在那里检查“所需”标签,然后根据用户首选项或应用程序的要求仅显示所需的标签。在视图上,您应该只显示标签。如果您正在进行计算并更改打破整个MVC概念的视图的值,那么CodeIgniter的全部原因。
您不应该仅仅因为可以在控制器中创建变量:)只有在访问者需要时才需要创建变量。如果您正在创建所有标记但未在视图上显示所有标记,那么您可能需要一种方法来识别所需的标记,然后根据用户选择和需求创建新标记,使用另一个控制器或相同的信息。
如果您正在对控制器进行计算,然后对视图进行更多计算,则该代码对于MVC模型不正确。计算和定义必须在控制器中完成。在视图中,您可以根据所需条件选择是否要显示该变量,但不要更改其内容。
总之,必须在控制器中创建所有变量才能维护MVC概念。
希望这可以帮助您更多地了解CodeIgniter。这是一个很棒的框架,你需要确保你以正确的方式使用它。
亲切的问候。