我正在创建一个行为(一个模板和一个监听器)。在模板类中,我使用addListener()方法将侦听器附加到模型。
// Inside the template's setTableDefinition() method
$this->addListener(new RemoraSaveListener);
相当标准的东西,似乎。
从侦听器中,如何访问使用模型的actAs()方法设置的模板选项?你知道,自动占用模板对象的_options属性的那些。
答案 0 :(得分:1)
您的模板类应具有protected $_options = array()
属性。
将此属性传递给您的侦听器,如下所示:
$this->addListener(new RemoraSaveListener($this->_options));
在您的监听器课程中,您还应该拥有protected $_options
属性。
将此添加到您的侦听器:
public function __construct($options) {
$this->_options = $options;
}
您现在应该可以从侦听器类中访问这些选项(来自preSave
调用中的e.x)。