【发布时间】:2018-12-20 12:45:37
【问题描述】:
我已将“header_model”添加到 codeigniter 的 autoload.php 文件中。现在是:
$autoload['model'] = array("header_model");
我也可以在其他控制器中成功使用$this->header_model。
但不能在MY_Loader类中使用,它是CI_Loader的扩展。
示例: 页面控制器位于 application/controllers/:
class Pages extends CI_Controller {
public function view($page = 'home')
{
var_dump($this->header_model->get_menus()); //echoes data from database.
}
}
MY_Loader 类(位于 application/core/ 文件夹):
<?php
class MY_Loader extends CI_Loader {
function __construct()
{
parent::__construct();
}
public function template($template_name, $vars = array(), $return = FALSE)
{
$menuArray = $this->header_model->get_menus(); //echoes errors
//like: Undefined property: MY_Loader::$header_model
$vars["menuArray"] = $menuArray;
}
}
感谢您的帮助。
【问题讨论】:
标签: php codeigniter codeigniter-3 autoloader