Sedan2::what_vehicle();
class singleton
{
    public static $instance;
    private function __construct()
    {
        echo 'Contruct of singleton class called' . "\n";
    }
    public static function get_instance()
    {
        if (!static::$instance instanceof static) {
            static::$instance = new static();
        }
        return static::$instance;
    }
    public function test()
    {
        echo 'test function called' . "\n";
    }
}
class B extends singleton
{
    public static $instance;
    protected function __construct()
    {
        echo 'Construct of Class B called' . "\n";
    }
}
singleton::get_instance()->test();
B::get_instance()->test();
B::get_instance()->test();
 public function singleton()
 {
     require WEB_DIR . MODELS_DIR . "design_patterns/singleton_pattern.php";
     $singleton = singleton::get_instance("got 'em");
     $singleton = singleton::get_instance("try again");
     return $singleton->get_element();
 }