首页 > 解决方案 > Symfony 5.2.3 接口类型提示

问题描述

由于我更新了我的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

你知道我怎么修吗?

标签: phpsymfonycomposer-phptype-hintingsymfony5

解决方案


似乎我们在https://github.com/php-fig的好伙伴使用仅适用于 php8 的Union Type Hints抢先一步。他们没有提供对 php7 的支持。他们出于某种原因从 php5 转到 php8。你可以在 packagegist 中看到:

psr/link v1.0.0psr/link v1.1.0

也在:

psr/log v1.1.4与psr / log v2.0.0

这也在依赖 psr/log 和运行 php7 的 Laravel 7 中引起问题。

您将需要指定较旧的软件包版本:

composer require psr/link "1.0.*"

composer require psr/log "^1.0"


推荐阅读