大佬教程收集整理的这篇文章主要介绍了Laravel 5.8:如何将两个参数传递给事件和监听器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用的是 Laravel 5.8,我创建了一个名为 UserWalletNewtransaction
的事件,如下所示:
public $transaction;
public $added_type;
public function __construct($transaction,$added_typE)
{
$this->transaction = $transaction;
$this->added_type = $added_type;
}
如你所见,我在这里指定了两个参数,这些参数从控制器获取它们的值:
event(new UserWalletNewtransaction($newtransaction,$value_added_typE));
然后名为 UserWalletNotification
的侦听器如下所示:
public function handle(UserWalletNewtransaction $event,$added_typE) {
但是这里出了点问题,因为我收到了这个错误:
App\Listeners\UserWalletNotification::handle() 函数的参数太少,1 个通过,正好 2 个预期
那么如何解决这个问题呢?如何正确地将两个参数传递给 Event & Listener?
错误截图:
UserWalletNewtransaction 事件:
public $transaction;
public $added_type;
public function __construct($transaction,$added_typE)
{
$this->transaction = $transaction;
$this->added_type = $added_type;
}
你可以这样称呼它event(new UserWalletNewtransaction($newtransaction,$value_added_typE));
和 UserWalletNotification 侦听器:
public function handle(UserWalletNewtransaction $event)
{
$transaction = $event->transaction;
$added_type = $event->added_type;
}
,
你可以使用数组。
event(new UserWalletNewtransaction([ 'transaction' => $newtransaction,'added_type' => $value_added_typE));
public $transaction;
public $added_type;
public function __construct($data)
{
$this->transaction = $data['transaction'];
$this->added_type = $data['added_type'];
}
更新 #1:
您应该删除句柄函数的第二个参数。您可以访问 added_type
变量中的 $event
数据。
以上是大佬教程为你收集整理的Laravel 5.8:如何将两个参数传递给事件和监听器全部内容,希望文章能够帮你解决Laravel 5.8:如何将两个参数传递给事件和监听器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。