所以我从我的自定义Admin_controller扩展我的自定义Dashboard控制器,从我的自定义MY_controller扩展Codeigniter默认CI_controller . 仪表板从MY_controller获取所有字段,但没有来自Admin_controller .
仪表板:
class Dashboard extends Admin_Controller {
function __construct() {
parent::__construct();
var_dump($this->data);
}
}
Admin_Controller:
<?php
class Admin_Controller extends MY_Controller {
public function __construct() {
parent::__construct();
$this->data['meta_title'] = 'Death Star CMS';
$this->data['test'] = 'test';
$this->load->model('user_m');
}
}
MY_Controller:
class MY_Controller extends CI_Controller {
public $data = [];
function __construct() {
parent::__construct();
$this->data['errors'] = [];
$this->data['site_name'] = config_item('site_name');
}
}
是CI_Controller:
class CI_Controller {
private static $instance;
/**
* Constructor
*/
public function __construct()
{
self::$instance =& $this;
// Assign all the class objects that were instantiated by the
// bootstrap file (CodeIgniter.php) to local class variables
// so that CI can run as one big super object.
foreach (is_loaded() as $var => $class)
{
$this->$var =& load_class($class);
}
$this->load =& load_class('Loader', 'core');
$this->load->initialize();
log_message('debug', "Controller Class Initialized");
}
public static function &get_instance()
{
return self::$instance;
}
}
Dashboard构造函数中的var_dump($ this-> data)仅显示在MY_controller中添加的$ data []元素([errors]和[site_name]) . 如何在Admin_Controller构造函数中向$ data []添加元素?
它也无法加载user_m模型 .