【发布时间】:2016-07-07 19:32:57
【问题描述】:
对于包含私有属性的类,property_exists() 函数返回 true (php>5.3)。对于函数,有一个 is_callable 方法,它不仅确认该方法存在而且它也可用(作为 method_exists() 的替代方法)。是否有与此功能等效的对应物来确认此属性是否可访问?
<?php
class testClass {
private $locked;
public $unlocked;
private function hiddenFunction(){
return "hidden";
}
public function visibleFunction(){
return "visible";
}
}
$object = new testClass();
var_dump(property_exists($object, "unlocked")); // returns true
var_dump(property_exists($object, "locked")); // returns true > php 5.3
var_dump(method_exists($object, "hiddenFunction")); // returns true but can't be called
var_dump(method_exists($object, "visibleFunction")); // returns true
var_dump(is_callable(array($object, "hiddenFunction"))); // returns false
var_dump(is_callable(array($object, "visibleFunction"))); // returns true
?>
【问题讨论】:
标签: php class object methods properties