我在
中创建了事件处理程序类 AppEventsRoomallocwithproperties(Event file)
AppHandlersEventsAllocofroomprop(Handler file)
在laravel 5中,我从控制器传递了两个变量,并在事件文件中的构造函数的帮助下获得该变量,作为
public function__construct($a,$b) {
$this->a=$a;
$this->b=$b;
}
这个值是我在handl函数内的handl文件中访问的,例如
public function handle(Roomallocwithproperties $event)
{
$c= $event->a + $event->b;
return $c;
}
Eventservice provider文件
protected $listen = [
'event.name' => [
'EventListener',
],
'AppEventsRoomallocwithproperties'=>[
'AppHandlersEventsAllocofroomprop',
],
];
我从控制器中触发事件,比如
$result= Event::fire(new Roomallocwithproperties($val1,$val2));
dd($result);
我的问题是,我想返回值$c再次我的控制器。我使用event的原因是我在每次迭代中触发foreach事件,并再次返回其中的值。如何将变量$c返回给控制器函数,如何在控制器函数中接收值
谢谢大家的回复!
您需要的不是访问侦听器。你需要的是听众的反应。
Event::fire()方法返回侦听器响应数组。因此,无论侦听器的handle()方法返回什么,都将在该数组中。因此,侦听器只需要返回您想要从handle()方法收集的任何内容。