yii2中 static:: self::的区别

技巧库 · ppker · 于 6年前 发布 · 6407 次阅读
$model = static::find()->all();
$model = self::find()->all();
经过我的测试 static调用的是子类中的方法  self调用的是本类中的方法
class B extends A {
    
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
        static::who();
}
共收到 1 条回复 yii2 GetYii

static貌似是静态绑定,哪个对象调用的,便指向对应的对象,不一定就是子类。
self 应该是指向当前所在类的。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册