- Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.7
- Baz::test __callStatic : privateMethod Foo::protectedMethod Foo::publicMethod
<?php
class Foo
{
public static function __callStatic($method, $args)
{
echo '__callStatic : ' . $method . "\n";
}
private function privateMethod() {
echo __METHOD__ . "\n";
}
protected function protectedMethod() {
echo __METHOD__ . "\n";
}
public function publicMethod() {
echo __METHOD__ . "\n";
}
}
class Bar extends Foo
{
}
class Baz extends Bar {
public function test() {
echo __METHOD__ . "\n";
$grandparent_class = get_parent_class(parent::class);
$grandparent_class::privateMethod();
$grandparent_class::protectedMethod();
$grandparent_class::publicMethod();
}
};
$baz = new Baz();
$baz->test();