PHP作用域限定符双冒号::的用法及意义
今天看江湖家居门户系统的源码,发现PHP类代码中常看到双冒号"::"操作符,这个是作用域限定操作符,是用一个双冒号"::"表示,它用来置顶类中不通作用域的级别。左边是作用域,右边是访问作用域的成员。一,当调用静态属性和静态方法时
::与->的作用相同,只不过使用的对象不一样!::引用类里面的静态方法或者属性,而且不需要实例化!
建立一个类,并且建立一个静态属性$a,一个静态方法b,如下:class test {
static public $a;
static public function b() {}
}如果要调用静态属性$a,如下test::$a;注意,a前面需要带$符号,这一点与->符号不一样!如果要调用静态方法b,如下test::b(); 二,当调用自身类或者父类的属性或者方法时
首先建立一个父类class test {
public function b() {}
}
然后建立一个子类继承父类
class tests extends test {
public function cs() {}
}
当我们需要调用父类的方法b时
parent::b();当我们需要调用自身的方法cs时,有两种方法
$this->cs();
self::cs();
我遇到的大概就是以上两种情况,如果大家还遇到什么其他的情况,欢迎回帖补充哈!
页:
[1]