全国服务热线:400-6566-535 广州热线:020-82105691 客服QQ:858560031
后台演示 猪八戒 阿里巴巴商铺 手机版
网络营销电子商务建站知识编程知识行业资讯SEO知识常见问题网络安全
您当前位置: 首页 >资讯活动 > PHP开发 > PHP中this,self,parent的区别之二self篇

PHP中this,self,parent的区别之二self篇

时间:2015-11-25 作者:七想网络

 

此篇我们就self的用法进行讲解

首先我们要明确一点,self是指向类本身,也就是self是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量。假如我们使用类里面静态(一般用关键字static)的成员,我们也必须使用self来调用。还要注意使用self来调用静态变量必须使用:: (域运算符号),见实例。

 <?php

    classcounter     //定义一个counter的类
    {
        //定义属性,包括一个静态变量$firstCount,并赋初值0 语句①  
        private static $firstCount = 0;
        private $lastCount;

        //构造函数
        function __construct()
        {
             $this->lastCount =++self::$firstCount;      //使用self来调用静态变量 语句②
        }

        //打印lastCount数值
        function printLastCount()
        {
             print( $this->lastCount );
        }
    }

 //实例化对象
  $obj = new Counter();

 $obj->printLastCount();                             //执行到这里的时候,程序输出1

 ?>

这里要注意两个地方语句①语句②。我们在语句①定义了一个静态变量$firstCount,那么在语句②的时候使用了self调用这个值,那么这时候我们调用的就是类自己定义的静态变量$frestCount。我们的静态变量与下面对象的实例无关,它只是跟类有关,那么我调用类本身的的,那么我们就无法使用this来引用,因为self是指向类本身,与任何对象实例无关。然后前面使用的this调用的是实例化的对象$obj,大家不要混淆了。

关于self就说到这里,结合例子还是比较方便理解的。第二篇结束。


 

准备开展业务? 立即创建网站 成为代理商
网络营销
  1. 企业网站如何做好网站优化与推广工作?
  2. 中小企业怎样做网络营销 广州七想网络...
  3. 网络营销并不神秘,七想网络带您揭开秘...
  4. 透过优衣库事件 看网络营销?
  5. QQ营销推广技巧?
  6. 中小企业网站如何推广才有效果呢?