设置要由类中的不同方法访问的变量

时间:2009-12-15 10:47:50

标签: php codeigniter scope

我有一个具有不同方法的控制器,但它们都必须设置一个变量,其中包含要在视图中的框中显示的项目列表,我从数据库中提取数据并设置$data['categories']。 /> 我可以设置一次并通过所有方法使其可见吗?

2 个答案:

答案 0 :(得分:1)

使它成为类

的属性
class Controller {
    protected $data;

并使用'$ this'访问您的方法:

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

答案 1 :(得分:1)

除此之外,如果您只使用$ this->数据来获取视图中的值,而不是:

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

然后做

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

您可以使用以下方式进行设置:

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

然后使用正常的本地化$ data数组(或任何你喜欢的数组),因为变量将全局可用于所有加载的视图文件。

我不是建议两种方式都更好,只是让你知道如何做到这一点。我个人使用这些方法的混合。 : - )