->
来调用方法。,,“ php,class MyClass {, public function myMethod() {, echo "Hello, World!";, },},,$obj = new MyClass();,$obj->myMethod(); // 输出 "Hello, World!",
“
在PHP中,类中的常量可以通过self
关键字或者static
关键字来调用。
1. 使用self
关键字调用常量
class MyClass {
const CONSTANT = 'constant value';
function showConstant() {
echo self::CONSTANT;
}
}
$class = new MyClass();
$class>showConstant(); // 输出 "constant value"
在这个例子中,我们定义了一个名为MyClass
的类,该类有一个常量CONSTANT
和一个方法showConstant
,在showConstant
方法中,我们使用self::CONSTANT
来调用常量。
2. 使用static
关键字调用常量
class MyClass {
const CONSTANT = 'constant value';
static function showConstant() {
echo static::CONSTANT;
}
}
MyClass::showConstant(); // 输出 "constant value"
在这个例子中,我们同样定义了一个名为MyClass
的类,该类有一个常量CONSTANT
和一个静态方法showConstant
,在showConstant
方法中,我们使用static::CONSTANT
来调用常量,注意,静态方法可以直接通过类名调用,而不需要创建类的实例。
相关问题与解答
问题1:如何在子类中调用父类的常量?
答案:在子类中,你可以使用parent
关键字来调用父类的常量。
class ParentClass {
const CONSTANT = 'constant value';
}
class ChildClass extends ParentClass {
function showConstant() {
echo parent::CONSTANT;
}
}
$child = new ChildClass();
$child>showConstant(); // 输出 "constant value"
问题2:如果常量名和类方法名相同,如何区分它们?
答案:在这种情况下,你可以使用完全限定名称(Fully Qualified Name)来区分常量和方法。
class MyClass {
const METHOD = 'method value';
function METHOD() {
echo self::METHOD;
}
}
$class = new MyClass();
$class>METHOD(); // 输出 "method value"
在这个例子中,我们定义了一个名为MyClass
的类,该类有一个常量METHOD
和一个方法METHOD
,在方法中,我们使用self::METHOD
来调用常量,而不是方法。