Zdravím, trochu jsem experimentoval s Late Static Bindings a zkoušel různé kombinace použití parent::, self:: a static::, až jsem se dostal k následující podivnosti, která mi neleze do hlavy. Jak je vůbec možné, že script neohlásí žádný warning a ani deprecated hlášku o statickém volání nestatické metody?
V konfiguraci PHP mám error_reporting nastaven na E_ALL. Díky za odpověď.
class A {
private function privateWho() {
echo __CLASS__.PHP_EOL;
}
public function test() {
B::privateWho(); // static::privateWho();
}
}
class B extends A {}
$b = new B();
$b->test(); // vytiskne A