php

php中双冒号什么意思?

2023-09-22

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();