self :: 和 this-> 的用法

在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。

另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this。

 

class Person {
      static   $name = 2;   //变量是用static或者const 必须用self::
      const   age = 4; 

    //强制静态::,不给外部实例化 new
     private function __construct() {
   
    }
 
    public static function  say() {

          echo "我的名字叫:".self::$name."<br />";
         echo "我的年龄是:".self::age;
    }
}
//静态方法,::静态调用 Person::say(); //我的名字叫:2 //我的年龄是:4

 

原文地址:https://www.cnblogs.com/keta/p/14523418.html