在 tinker 中访问 EasyWeChat,出现警告信息,不知如何解决

EasyWeChat的版本试了好几个,还是同样的问题,看了一下报错源码,也不知道如何是好,请指点我一下。

>>> $miniProgram = \EasyWeChat::miniProgram();
PHP Warning:  Illegal offset type in isset or empty in /home/vagrant/code/larabbs/vendor/symfony/event-dispatcher/EventDispatcher.php on line 56
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

指定下 symfony/event-dispatcher 版本即可: composer require symfony/event-dispatcher:^4.3

4年前 评论
jackzheng9969 (楼主) 4年前
讨论数量: 4

56行的代码是:

$eventName = $eventName ?? \get_class($event);

其中??是PHP 7的新特性:

由于日常使用中存在大量同时使用三元表达式和 isset()的情况, 我们添加了null合并运算符 (??) 这个语法糖。如果变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。

4年前 评论
           if (empty($this->listeners[$eventName])) {
                return array();
            }
4年前 评论

@jackzheng9969
PHP文档中有这么一句话:

在 PHP 5.5 之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误。换言之,下列代码不会生效: empty(trim($name))。 作为替代,应该使用trim($name) == false.

你的PHP版本是多少?

4年前 评论
jackzheng9969 (楼主) 4年前

指定下 symfony/event-dispatcher 版本即可: composer require symfony/event-dispatcher:^4.3

4年前 评论
jackzheng9969 (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!