/**
* DocNotes - This is description of this class if given else it will display false
*/
class Person{
private $name;
private $dob;
private $height;
private $weight;
private static $num;
function __construct($dbo, $height, $weight, $name) {
$this->dob = $dbo;
$this->height = (integer)$height;
$this->weight = (integer)$weight;
$this->name = $name;
self::$num++;
}
public function eat($var="", $sar=""){
echo $var;
}
public function potrzeba($var =""){
return $var;
}
}
现在让我们创建一个Person的示例并用我们的函数 Package 它。
$Wictor = new Person("27.04.1987", 170, 70, "Wictor");
TO($Wictor);
7条答案
按热度按时间juud5qan1#
由于还没有人提供反射API方法,下面是它的实现方式:
使用Reflection的优点是可以按属性的可见性进行筛选,如下所示:
由于Person::$property是私有的,所以按照IS_PRIVATE过滤时返回:
看看文件!
q35jwt9p2#
如果您想了解更多信息,可以使用ReflectionClass:
http://www.phpro.org/manual/language.oop5.reflection.html
ru9i0ody3#
要获取更多信息,请使用此自定义TO($someObject)函数:
我编写了这个简单的函数,它不仅显示给定对象的方法,而且还显示它的属性、封装和一些其他有用的信息,如发行说明。
为了演示它是如何工作的,我现在创建一些随机的示例类,让我们创建一个名为Person的类,并在类声明的上方放置一些发行说明:
现在让我们创建一个Person的示例并用我们的函数 Package 它。
这将输出有关类名、参数和方法的信息,包括封装信息和参数数量、每个方法的参数名称、方法位置以及方法所在的代码行。请参见以下输出:
nuypyhwy4#
尝试使用Pretty Dump,它对我来说效果很好
zlhcx6iw5#
要知道对象的属性,var_dump(object)是最好的方法。2它将显示所有与之相关的公共、私有和受保护的属性,而无需知道类名。
但是在方法的情况下,你需要知道类名,否则我认为很难得到对象的所有关联方法。
6qfn3psc6#
e1xvtsh37#
或
这些也是你在数组中使用的东西。
这些将显示PHP 5对象的受保护和私有属性。根据手册,静态类成员将不会显示。
如果你想知道成员方法,你可以使用get_class_methods():
相关资料:
get_object_vars()
get_class_vars()
get_class()〈--表示示例的名称