phpthisself用法与区别-创新互联

this 这  self 自己

创新互联拥有十多年成都网站建设工作经验,为各大企业提供网站设计、成都做网站服务,对于网页设计、PC网站建设(电脑版网站建设)、app软件开发公司、wap网站建设(手机版网站建设)、程序开发、网站优化(SEO优化)、微网站、域名注册等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了很多网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等网站化运作于一体,具备承接各种规模类型的网站建设项目的能力。

   $this 指的是实例化的对象,self指的是当前类

    

$db  = new Imooc\Database();
var_dump($db->where('id=1'));




Database 类返回的是$this, 打印出来可以看到$this就是Database这个类的实例化的对象.

现在看self这个关键词
class Database
{
    private static $db;

    static function getInstance()
    {
        if (self::$db) {
            return self::$db;
        } else {
            self::$db = new self();
            return self::$db;
        }
    }
}

还是Database这个类 ,定义了静态私有变量(只有类才能调用),由于$this是指向对象所以用$this->db会报错,
self指向Database这个类的本身,self()相当于实例化了Database这个类的对象.

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:phpthisself用法与区别-创新互联
文章网址:http://hbruida.cn/article/djpjjh.html