php - 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
。
你知道我怎么修吗?
解决方案
似乎我们在https://github.com/php-fig的好伙伴使用仅适用于 php8 的Union Type Hints抢先一步。他们没有提供对 php7 的支持。他们出于某种原因从 php5 转到 php8。你可以在 packagegist 中看到:
psr/link v1.0.0与psr/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"
推荐阅读
- javascript - Google 电子表格 - 通过脚本展开和折叠组
- java - 在屏幕上移动绘图
- angular - NgAfterViewInit 未检测到对 NgOnInit 函数中的类变量所做的更改
- javascript - 为什么更改语言时会出现此 RSA 填充错误?
- java - 如何在主要活动中的任何条件下传递给 ppatcher 活动
- node.js - 关闭空闲连接:Sequelize 是否允许我查看数据库连接空闲多长时间?
- swiftui - SwiftUI 如何在单独的窗口中修改 @AppStorage 变量?
- php - 如何合并两个不同的数组PHP
- jenkins - Groovy 节点和管道上缺少方法异常
- python - Python3、MariaDB、OpenVPN 密码检查失败