【发布时间】:2021-05-11 23:47:21
【问题描述】:
自从我更新了我的composer.json(我刚刚切换了symfony、console、dotenv、framework-bundle、yaml 版本从"5.0.* 到"5.2.*),我有这个错误:
syntax error, unexpected '|', expecting variable (T_VARIABLE) 来自第 27 行,文件 vendor/psr/link/src/EvolvableLinkInterface.php。
(public function withHref(string|\Stringable $href);)
我决定删除我的一个兼性参数类型提示(例如\Stringable)并且效果很好。
我在PHP 7.4.15下运行。
你知道我该如何解决吗?
【问题讨论】:
-
请分享更多细节 - 与 PHP 7(版本 1.0.0)兼容的最新版
psr/link不包含这样的类型提示。在 v1.1.0(不与 PHP 7 兼容)中,存在此类型提示 -
谢谢@NicoHaase!你说得对。如果我在
InstalledVersions.php中检查我的psr/link版本,我可以看到1.1.0与我的PHP 版本不兼容。那么两个简单的问题:为什么在我的composer.json更改之前它可以工作?如何修复psr/link版本(我的composer.json中没有出现) -
这取决于您在
composer.json中需要哪个PHP 版本,以及如何调用它 -
@NicoHaase
"php": "^7.4" -
你是如何指示 composer 获取新的依赖项的?
标签: php symfony composer-php type-hinting symfony5