2017-01-03 57 views
0

我知道如何从控制器加载变量,使其到达所有的观点:

$data['xxx'] = 'yyy'; 
$CI->load->vars($data); 

这很容易像。

但是,我怎样才能将xxx变量传递给子控制器而不是视图?

$data变量似乎并不存在于扩展控制器中。

回答

0

儿童控制器自动继承所有的公共和受保护的变量,从父controller.So你不需要传递separately.Here是一个示例方法..

class Parent_controller extends CI_Controller 
{ 
    protected $xxx = 'hello im parent'; 

    public function_name(){ 

    } 

} 

然后作出下方延伸Parent_controller孩子控制器:关于继承的话题

class Child_controller extends Parent_controller{ 
    echo $xxx; //outputs hello im parent OR you can overright it 
    //similarly you can make function call to parent's function 
     } 

研究就足够you.But变量和私人范围的方法是不要孩子的控制器访问。