Установка переменной для доступа к различным методам в классе - PullRequest
0 голосов
/ 15 декабря 2009

У меня есть контроллер с разными методами, но все они должны установить переменную, содержащую список элементов, которые должны отображаться в окне в представлении, я извлекаю данные из БД и устанавливаю $data['categories'].
Могу ли я установить его один раз и сделать его видимым для всех методов?

Ответы [ 2 ]

1 голос
/ 15 декабря 2009

В дополнение к этому, если вы используете только $ this-> data для получения значений в ваших представлениях, вместо выполнения:

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

Затем делаем

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

Вместо этого вы можете установить его с помощью:

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

Затем в дальнейшем используйте обычный локализованный массив $ data (или что угодно), поскольку переменная будет глобально доступна для всех загруженных файлов представлений.

Я не говорю, что в любом случае лучше, просто сообщаю, как еще это можно сделать. Я лично использую сочетание этих методов. : -)

1 голос
/ 15 декабря 2009

сделать его свойством класса

class Controller {
    protected $data;

и используйте «$ this» для доступа в ваших методах:

class Controller {
    function foo() {
       $this->data etc...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...