在PHP中,匿名类是一种没有名称的类,可以在运行时动态创建并使用。匿名类可以包含静态方法和实例方法,它们的区别如下:
示例代码如下:
// 创建匿名类
$anonymousClass = new class {
// 静态方法
public static function staticMethod() {
echo 'This is a static method';
}
// 实例方法
public function instanceMethod() {
echo 'This is an instance method';
}
};
// 调用静态方法
$anonymousClass::staticMethod();
// 创建实例对象
$instance = new $anonymousClass();
// 调用实例方法
$instance->instanceMethod();
示例代码如下:
$anonymousClass = new class {
public $property = 'Hello';
// 静态方法
public static function staticMethod() {
// 无法访问实例属性
// echo $this->property; // 会报错
echo 'This is a static method';
}
// 实例方法
public function instanceMethod() {
// 可以访问实例属性
echo $this->property;
echo 'This is an instance method';
}
};
总的来说,静态方法在类中只存在一份,可以直接调用,而实例方法需要先创建实例对象才能调用,并且可以访问实例的属性和方法。