对象

static or self

self 特指类本身,static是后期绑定,类似$this,当然仅仅是类似。

[运行代码]

class Car
{
    public static function model()
    {
        static ::getModel();
    }
    
    protected static function getModel()
    {
        echo "I am a Car!";
    }
}

class Mercedes extends Car
{
    
    protected static function getModel()
    {
        echo "I am a Mercedes!";
    }
}

Mercedes::model(); // I am a Mercedes!

[执行结果]

I am a Mercedes!

动态创建对象

//PHP_VERSION >= 5.6.0
$instance = new $className(...$args);

继承 or 组合

优先使用组合

参见

参考网址