我知道如何从控制器加载变量以使其可以访问所有视图:
$data['xxx'] = 'yyy';
$CI->load->vars($data);
这很容易。
但是我如何将xxx
变量传递给子控制器而不是视图?
$data
变量。
答案 0 :(得分:0)
子控制器自动从父控制器继承所有公共和受保护的变量和方法。所以你不需要单独传递。这是一个例子..
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
}
关于继承主题的研究对您来说已经足够了。但子控制器无法访问具有私有范围的变量和方法。