函数名称:ReflectionClass::hasProperty()
适用版本:PHP 5 >= 5.1.0, PHP 7
函数描述:检查类是否具有指定的属性。
用法:
bool ReflectionClass::hasProperty ( string $name )
参数:
$name
:要检查的属性名称,字符串类型。
返回值:
- 如果类具有指定的属性,则返回
true
,否则返回false
。
示例:
class MyClass {
public $publicProperty;
private $privateProperty;
protected $protectedProperty;
}
$reflectionClass = new ReflectionClass('MyClass');
// 检查是否具有publicProperty属性
if ($reflectionClass->hasProperty('publicProperty')) {
echo 'MyClass类具有publicProperty属性';
} else {
echo 'MyClass类不具有publicProperty属性';
}
// 检查是否具有privateProperty属性
if ($reflectionClass->hasProperty('privateProperty')) {
echo 'MyClass类具有privateProperty属性';
} else {
echo 'MyClass类不具有privateProperty属性';
}
// 检查是否具有protectedProperty属性
if ($reflectionClass->hasProperty('protectedProperty')) {
echo 'MyClass类具有protectedProperty属性';
} else {
echo 'MyClass类不具有protectedProperty属性';
}
输出:
MyClass类具有publicProperty属性
MyClass类不具有privateProperty属性
MyClass类具有protectedProperty属性
上述示例中,我们首先创建了一个名为MyClass的类,该类具有三个不同访问修饰符的属性。然后,我们使用ReflectionClass类创建一个反射类对象$reflectionClass,并使用hasProperty()函数来检查该类是否具有指定的属性。根据属性的访问修饰符,我们可以得到不同的结果。最后,根据返回的结果,我们输出相应的信息。