CodeIgniter 的默认视图加载过程需要重复执行在每个控制器中包含页眉和页脚视图的任务。当使用多个控制器和视图时,这可能会变得乏味且耗时。
为了解决这个问题,可以创建一个自定义加载器类来自动执行包含页眉和页脚视图的过程。这允许开发人员加载视图,而无需显式调用每个组件的 load->view() 方法。
在 application/core 中创建一个名为 MY_Loader.php 的新文件目录。该文件将扩展 CodeIgniter 的 CI_Loader 类并添加一个新的 template() 方法。
<code class="php">// application/core/MY_Loader.php class MY_Loader extends CI_Loader { public function template($template_name, $vars = array(), $return = FALSE) { $content = $this->view('templates/header', $vars, $return); $content .= $this->view($template_name, $vars, $return); $content .= $this->view('templates/footer', $vars, $return); if ($return) { return $content; } } }</code>
在 template() 方法中:
创建自定义加载器类后,更新控制器中的构造函数以加载扩展加载器:
<code class="php">class My_Controller extends CI_Controller { public function __construct() { parent::__construct(); $this->load = new MY_Loader(); } }</code>
现在,您可以使用 template() 方法加载视图:
<code class="php">$this->load->template('body');</code>
这个将自动加载页眉、正文和页脚视图。您还可以根据需要将变量传递给视图。
以上是如何自动将页眉和页脚包含在 CodeIgniter 视图中?的详细内容。更多信息请关注PHP中文网其他相关文章!