2010-09-10 38 views
0

我正在创建一个行为(一个模板和一个侦听器)。在模板类中,我使用addListener()方法将侦听器附加到模型。创建一个Doctrine行为:如何从侦听器对象中访问actAs()params

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

看起来很标准的东西。

从监听器中,如何访问已使用模型的actAs()方法设置的模板选项?你知道,那些会自动占据模板对象的_options属性的属性。

回答

1

你的模板类应该有一个protected $_options = array()属性。

通过这个属性到您的收听,像这样:

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

在监听器类,你也应该有一个protected $_options财产。

添加到您的听众:

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

您现在应该能够从(从preSave调用中e.x)访问您的监听器类中的选项。

相关问题