Я работаю над проектом, используя кодовый код HMVC. У меня есть собственная библиотека для макетов и мой базовый контроллер с именем MY_Controller с этим кодом:
class MY_Controller extends MX_Controller{
public $layout='layout_name';
public $theme='name';
...
public function __construct(){
parent::__construct();
...
}
}
моя проблема заключается в:
когда я использую $this->CI=& get_instance();
в библиотеке свойства моего контроллера вроде $theme
недоступны например нельзя использовать $this->CI->theme;
но в контроллерах нет никаких проблем, и я могу использовать $this->theme;
в любом месте. Как я могу сделать экземпляр, содержащий мои базовые переменные контроллера в библиотеке?
Решаемые. в соответствии с Документация по КИ, я использую второй параметр загрузки библиотеки и отправляю указанные переменные в библиотеку через массив. в mx_controller:
class MY_Controller extends MX_Controller{
private $layout='default';
private $theme='white';
private $param=array();
public function __construct(){
parent::__construct();
$this->param=array('layout'=>$this->layout,'theme'=>$this->theme);
$this->load->library('lib',$this->param);
}
}
Других решений пока нет …