我正在创建一种行为(一个模板和一个侦听器)。在模板类中,我使用 addListener() 方法将侦听器附加到模型。
// Inside the template's setTableDefinition() method
$this->addListener(new RemoraSaveListener);
看起来很标准的东西。
在侦听器中,如何访问已使用模型的 actAs() 方法设置的模板选项?你知道的,那些自动占据模板对象的 _options 属性的。
我正在创建一种行为(一个模板和一个侦听器)。在模板类中,我使用 addListener() 方法将侦听器附加到模型。
// Inside the template's setTableDefinition() method
$this->addListener(new RemoraSaveListener);
看起来很标准的东西。
在侦听器中,如何访问已使用模型的 actAs() 方法设置的模板选项?你知道的,那些自动占据模板对象的 _options 属性的。
你的模板类应该有一个protected $_options = array()
属性。
将此属性传递给您的侦听器,如下所示:
$this->addListener(new RemoraSaveListener($this->_options));
在您的侦听器类中,您还应该有一个protected $_options
属性。
将此添加到您的侦听器:
public function __construct($options) {
$this->_options = $options;
}
您现在应该能够从侦听器类中访问选项(例如从preSave
调用中)。