gpt4 book ai didi

php - 错误的静态方法

转载 作者:IT王子 更新时间:2023-10-28 23:54:49 26 4
gpt4 key购买 nike

PHP 调用父类中的私有(private)方法,而不是调用当前类中由 call_user_func 调用的方法定义

class Car {
public function run() {
return call_user_func(array('Toyota','getName')); // should call toyota
}
private static function getName() {
return 'Car';
}
}

class Toyota extends Car {
public static function getName() {
return 'Toyota';
}
}

$car = new Car();
echo $car->run(); //Car instead of Toyota

$toyota = new Toyota();
echo $toyota->run(); //Car instead of Toyota

最佳答案

我找到了一个不同方法的解决方案..

<?php
class Car {
public static function run() {
return static::getName();
}
private static function getName() {
return 'Car';
}
}

class Toyota extends Car {
public static function getName() {
return 'Toyota';
}
}
echo Car::run();
echo Toyota::run();
?>

使用后期静态绑定(bind)..

关于php - 错误的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13986856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com