2010-12-10 3 views
1

У меня есть компонент, который использует некоторые классы для выполнения заданий, которые он должен выполнять. Мне нужно передать данные, чтобы он создавал объекты, которые ему понадобятся. Как мне это сделать?CakePHP передаёт данные компоненту до создания экземпляра

Должен ли я использовать обратный вызов initialize(&$Controller, $settings = array())? Если да, то как я могу заполнить $settings?

ответ

3

Component::initialize, как правило, хорошее место, чтобы сделать это, и переменная $settings может заполняться через Controller::$components массив:

public $components = array('Foobar' => array('baz' => 42)); 
// array('baz' => 42) will be passed as the second argument ($settings) to 
// FoobarComponent::initialize(&$Controller, $settings) 
+0

Спасибо. Но другой проблемой, с которой я столкнулся, является то, что значение, которое мне нужно передать, в этом случае 42, на самом деле является значением, которое мне нужно получить из базы данных. Поэтому, если я использую переменную, я получаю эту ошибку: «Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_VARIABLE». – 2010-12-10 02:35:46

Смежные вопросы