php

如何理解thinkphp中的self::get?

2023-08-22

self是指向类本身,也就是self是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量使用的是self关键字来调用,并且中间使用::来连接,就是我们所谓的域运算符。

class aaa{    

    /*----其他省略的方法----*/

    public static function seo_detail($where)

    {

        $filter['category'] = (int)$where;

        return self::get($filter);

    }

    public static function get($filter){

        /*------省略代码-------*/

    }

    /*----其他省略的方法----*/

}

这里的self指的就是aaa这个类,也就是这里return的是aaa这个类的get()方法处理后的结果。


亦或者aaa继承于bbb类,而aaa类里面没有get()方法,则这里访问的是bbb类里面写的get()方法


class aaa extends bbb{    

    /*----其他省略的方法----*/

    public static function seo_detail($where)

    {

        $filter['category'] = (int)$where;

        return self::get($filter);

    }

    /*----其他省略的方法----*/

}