使用codeigniter在控制器中使用$ CI-> load-> vars()获取加载的变量

时间:2017-01-03 09:55:14

标签: codeigniter

我知道如何从控制器加载变量以使其可以访问所有视图:

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

这很容易。

但是我如何将xxx变量传递给子控制器而不是视图?

扩展控制器中似乎不存在

$data变量。

1 个答案:

答案 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
      }

关于继承主题的研究对您来说已经足够了。但子控制器无法访问具有私有范围的变量和方法。