从 PHP7.4 升级到 PHP8.1 后出现以下 PHP 错误
$result = CarsDAO::selectCarsByColor($idCar, self::CARS_PER_PAGE, 0);
Run Code Online (Sandbox Code Playgroud)
Non static method 'selectCarsByColor' should not be called statically
有什么想法如何重写它才可以吗?
正如错误所述,该方法在 CarsDAO 类中不是静态的,因此您应该在实例上调用它。
$car = new CarsDAO();
$result = $car->selectCarsByColor($idCar, self::CARS_PER_PAGE, 0);
Run Code Online (Sandbox Code Playgroud)
肮脏的单线
$result = (new CarsDAO)->selectCarsByColor($idCar, self::CARS_PER_PAGE, 0);
Run Code Online (Sandbox Code Playgroud)
或者通过在方法声明前面添加关键字使方法静态来修复类。阅读手册中有关静态的内容。static
class CarsDAO {
public static function selectCarsByColor($idCar, $carsPerPage, $zeroThing) {
// code here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1914 次 |
| 最近记录: |