Laravel 4
我正在尝试从命名空间中的类中侦听事件,但无法确定如何设置侦听器。
我有类似的东西:
namespace My\Namespace
class Person extends \Illuminate\Database\Eloquent\Model
...
在另一个课程中,我试图用
来监听更新Event::listen('My\Namespace\Person.updated', function($person)
{
Debugbar::info(Event::firing());
});
但是永远不会被召唤。我已经尝试了很多不同的大小写变体,并在命名空间中放置了一个前导\但没有任何作用
如果我将听众改为
Event::listen('*.updated', function($person)
{
Debugbar::info(Event::firing());
});
代码运行,调试输出为:eloquent.updated:My \ Namespace \ Person
我只需要知道使用什么名称代替*来使处理程序特定于命名空间类。
感谢。
答案 0 :(得分:1)
如果您使用Eloquent将模型保存到数据库,则可能需要尝试:
Event::updated('yourcontroller@yourmethod');
我使用这种方法,它简单,干净,效果很好!