<?php
abstract class HiddenFactory
{
protected function __construct()
{
}
protected static function create()
{
}
}
class B extends HiddenFactory
{}
class A extends HiddenFactory
{
public static function createB()
{
return B::create();
}
}
$b = A::createB();
echo get_class($b);
Fatal error: Uncaught TypeError: get_class(): Argument #1 ($object) must be of type object, null given in /in/gS1Zs:29
Stack trace:
#0 {main}
thrown in /in/gS1Zs on line 29
Process exited with code 255.