2009-12-15 58 views
0

我有不同的方法的控制器访问,但是它们都具有设置在视图中的框示出为包含的项目的列表的变量,我从提取数据DB并设置$data['categories']
我可以设置一次,并通过所有方法使其可见吗?设置变量由类内的不同方法

回答

1

除此之外,如果你只使用$此 - >数据来获得值到您的看法,而不是做:

$this->data->something = 'whatever'; 

然后做

$this->load->view('something', $this->data); 

可以用,而不是设置:

$this->load->vars('something', 'whatever'); 

再后来就正常使用的本地化$ data数组(或任何你喜欢)作为变量将在全球范围内提供给所有加载查看文件。

我不是暗示无论哪种方式比较好,只是让你知道这是怎么回事可以这样做。我个人使用这些方法的组合。 :-)

+0

谢谢,我错过了load-> vars,这正是我所需要的。 – 2009-12-15 18:04:21

1

使其成为类

class Controller { 
    protected $data; 

和使用“$这一”来访问你的方法的属性:

class Controller { 
    function foo() { 
     $this->data etc... 
+0

是的,这是一个愚蠢的问题。我这样做,但忘记使用'$ this-> data',而不是在加载视图时使用'$ data'。谢谢。 – 2009-12-15 11:29:22