在PHP中,::被称为范围解析操作符(也称域运算符),主要用于访问类的静态成员、常量以及覆盖类中的属性和方法。
范围解析操作符(::)的核心用途
访问静态成员:::用于调用类的静态属性和方法,无需实例化类即可直接访问。例如:
class MyClass { public static $value = '静态属性'; public static function show() { echo '静态方法'; } } echo MyClass::$value; // 输出:静态属性 MyClass::show(); // 输出:静态方法
访问类常量:通过::可以访问类中定义的常量。例如:
class MyClass { const CONSTANT = '常量值'; } echo MyClass::CONSTANT; // 输出:常量值
调用父类方法或属性:在子类中,::可用于调用父类中被覆盖的方法或属性,通常结合parent关键字使用。例如:
class ParentClass { protected function demo() { echo '父类方法'; } } class ChildClass extends ParentClass { public function demo() { parent::demo(); // 调用父类方法 } }
与其他操作符的区别
->:用于访问实例化对象的成员属性和方法(非静态)。
=>:主要用于数组键值对的关联赋值,与::功能无关。