Создание поведения Doctrine: как получить доступ к параметрам actAs () из объекта слушателя - PullRequest
0 голосов
/ 10 сентября 2010

Я создаю поведение (один шаблон и один слушатель).В классе шаблона я использую метод addListener () для присоединения слушателя к модели.

// Inside the template's setTableDefinition() method
$this->addListener(new RemoraSaveListener);

Кажется, довольно стандартные вещи.

Как в слушателе получить доступ к параметрам шаблона, которые были установлены с помощью метода actAs () модели?Вы знаете, те, которые автоматически занимают свойство _options объекта шаблона.

1 Ответ

1 голос
/ 30 ноября 2010

Ваш шаблонный класс должен иметь свойство protected $_options = array().

Передайте это свойство вашему слушателю, например:

$this->addListener(new RemoraSaveListener($this->_options));

В вашем классе слушателя вы также должны иметь свойство protected $_options.

Добавьте это к вашему слушателю:

public function __construct($options) {
    $this->_options = $options;
}

Теперь вы должны иметь возможность доступа к опциям из вашего класса слушателя (например, из вызова preSave).

...