我正在尝试使用“数据库”将侦听器排队,它可以与“同步”一起正常工作,但是如果我使用数据库并通过变量发送事件触发错误,则我不知道发生了什么。错误是:
[2018-08-20 11:33:23] local.ERROR: Undefined property:
laravel\Events\sendSMS::$request {"exception":"[object] (ErrorException(code:
0): Undefined property: laravel\\Events\\sendSMS::$request at
/var/www/laravel/app/Listeners/sendSMSListener.php:30)
[stacktrace]
如果我在侦听器中定义var而不是将其发送到低谷事件,则可以正常工作。
侦听器代码为:
public function handle(sendSMS $event)
{
$request = $event->request;
$recipient = $request->number;
$message = $request->message;
return $message; -> doesn`t matter
}
事件代码:
public function __construct($request)
{
$this->request = $request;
}
答案 0 :(得分:0)
public function handle(sendSMS $event)
{
$request = $event->request;
$recipient = $this->request->number;
$message = $this->request->message;
return $message;
}
答案 1 :(得分:0)
为$ request定义类的数据成员。
protected $request;
答案 2 :(得分:0)
您可以尝试以下代码吗?
jQuery.Deferred exception: assignment to undeclared variable...