双冒号 (::) 在 PHP 中用于:1. 命名空间分隔符;2. 静态方法调用;3. 父类访问;4. 常量访问;5. 延迟静态绑定。例如,MyNamespace::MyClass 表示命名空间分隔符,而 MyClass::myStaticMethod() 则表示静态方法调用。

PHP 中的双冒号 (::)
双冒号 (::) 在 PHP 中有以下用途:
1. 命名空间分隔符
- 在 PHP 5.3 及更高版本中,双冒号用于分隔命名空间中的类、函数和常量。
- 例如:
MyNamespace::MyClass
2. 静态方法调用
立即学习“PHP免费学习笔记(深入)”;
随缘网络PHP企业网站管理系统V2.0正式发布,该企业网站管理系统采用PHP+MYSQL编写,界面色调风格延续之前1.0版管理系统简洁浅蓝色风格,稍有所变动。变更分类树形目录方式采用jquery库,产品,文章三级无限分类。希望大家能够喜欢。系统中难免有些小问题,希望大家在使用中有什么问题可到本站论坛提出,我们将总结各问题后给予修正并升级。本站再次声明对于免费版系列系统本站不提供QQ电话等技术咨询服
- 双冒号可用于调用类的静态方法,而不必实例化该类。
- 例如:
MyClass::myStaticMethod()
3. 父类访问
- 双冒号可用于访问父类的属性和方法。
- 例如:
parent::myProperty
4. 常量访问
- 双冒号可用于访问类的常量,而不必通过类名。
- 例如:
MyClass::MY_CONSTANT
5. 延迟静态绑定 (LSB)
- 双冒号可用于实现延迟静态绑定,允许在运行时确定要调用的方法。
- 例如:
static::myMethod()
示例:
// 命名空间分隔符
namespace MyNamespace;
class MyClass {}
// 静态方法调用
class Foo {
public static function myStaticMethod() {
echo "This is a static method.\n";
}
}
Foo::myStaticMethod();
// 父类访问
class Bar extends Foo {
public function myChildMethod() {
echo "This is a child method.\n";
parent::myStaticMethod();
}
}
$bar = new Bar();
$bar->myChildMethod();
// 常量访问
class Baz {
const MY_CONSTANT = 'Hello, world!';
}
echo Baz::MY_CONSTANT;










