我的项目在 PHP 7.X 上运行良好,升级到 PHP 8 后出现以下问题,我不知道如何解决。
我有以下(简化的)情况:
<?php
class Vehicle
{
//...
}
class Car extends Vehicle
{
//...
}
class VehicleOutputMaker
{
public function output(Vehicle $entity)
{
}
}
class CarOutputMaker extends VehicleOutputMaker
{
//THROWS EXCEPTION
public function output(Car $entity)
{
parent::output($entity);
}
}
我的整个项目都是这样运行的,但是从 PHP 8 开始,我得到了该行的异常
public function output(Car $entity)
带有“致命错误:*** 的声明必须与 *** 兼容”
它与 PHP 7 完美配合!因为“车”也是交通工具。
有人知道如何解决这个问题吗?
谢谢!