我正在创建一个行为(一个模板和一个侦听器)。在模板类中,我使用addListener()方法将侦听器附加到模型。
// Inside the template's setTableDefinition() method
$this->addListener(new RemoraSaveListener);看起来是相当标准的东西。
在侦听器中,如何访问使用模型的actAs()方法设置的模板选项?就是那些自动占用template对象的_options属性的对象。
发布于 2010-12-01 02:36:29
您的模板类应该具有protected $_options = array()属性。
将此属性传递给侦听器,如下所示:
$this->addListener(new RemoraSaveListener($this->_options));在侦听器类中,还应该有一个protected $_options属性。
将以下内容添加到您的监听程序:
public function __construct($options) {
$this->_options = $options;
}您现在应该能够从侦听器类中访问这些选项(从preSave调用中的e.x)。
https://stackoverflow.com/questions/3687266
复制相似问题