沃梦达 / 编程问答 / php问题 / 正文

PHP致命错误:无法将词法变量$EventName用作中的参

php Fatal error: Cannot use lexical variable $eventName as a parameter name in(PHP致命错误:无法将词法变量$EventName用作中的参数名)

本文介绍了PHP致命错误:无法将词法变量$EventName用作中的参数名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码(GuzzHttplib)标题中所说的错误,请告诉我如何手动修复它。老实说,我对函数()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(构造。

推荐答案

我遇到了同样的问题,这是由于较早版本的GUZLE与php 7不兼容造成的。通过将GUZLE更新到版本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

这篇关于PHP致命错误:无法将词法变量$EventName用作中的参数名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:PHP致命错误:无法将词法变量$EventName用作中的参