php致命错误:无法在[]中使用词法变量$ eventName作为参数名称

问题描述 投票:2回答:1

我有以下代码(标题为http lib的标题)中所述的错误,请告诉我如何手动修复。老实说,我不知道function()use()构造,所以不知道如何解决它。

    public function once($eventName, callable $listener, $priority = 0)
{
    $onceListener = function (
        EventInterface $event,
        $eventName
    ) use (&$onceListener, $eventName, $listener, $priority) {
        $this->removeListener($eventName, $onceListener);
        $listener($event, $eventName, $this);
    };

    $this->on($eventName, $onceListener, $priority);
}

问题是使用后的$ eventName(构造。

php guzzle php-7.2
1个回答
0
投票

我有相同的问题,这是由旧的guzzle版本与php 7之间不兼容引起的。通过将guzzle更新到5.3.4版本,此问题已得到解决。

$ composer update guzzlehttp/guzzle

产生结果

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Updating guzzlehttp/guzzle (5.3.0 => 5.3.4): Downloading (100%)
Writing lock file
Generating autoload files
© www.soinside.com 2019 - 2024. All rights reserved.