【发布时间】:2014-09-12 21:06:03
【问题描述】:
是否可以通过引用将数组传递给事件订阅者?
我有一个事件“user.create.show”,我想将一个数组传递给该事件,以便在需要时对其进行修改。
调用看起来像这样。
Event::fire('user.create.show', array($data));
事件订阅者如下所示。
public function createShow(&$data)
{
$data['foo'] = 'bar';
return $data;
}
我得到一个“UserSubscriber::createShow() 的参数 1 应该是一个参考,给定的值”PHP 错误。
导致错误的行如下:
return call_user_func_array($callable, $data);
我知道我可以将值返回给它,但是 Laravel 会返回一个包含变量的数组和一个多维数组(如果将多个变量传递给事件)。我可以解析返回值,但如果我可以通过引用传递,它会使我的代码更清晰、更容易。
【问题讨论】:
标签: php arrays events laravel pass-by-reference