获取标准 class 上的方法?
Get methods on a standard class?
有没有办法获取实例化标准class对象的所有方法?我说的是一个具有一些方法和属性的对象,而不是一个新的 stdClass 对象。 ReflectionClass
似乎只适用于 classes。
试试 get_class_methods(),如果我理解正确的话,听起来就像你描述的那样。
您可以使用 get_object_vars
to get a list of all of the properties, and then iterate over them (or array_filter
them) and determine which of them is_callable
:
$myClass = new StdClass;
$myClass->someFunc = function($a) {
return $a - 1;
};
$myClass->someProperty = 42;
$properties = get_object_vars($myClass);
$methods = array_filter($properties, 'is_callable');
我不确定它是否是我的 PHP 的 5.4.39 版本,但是使用上面的示例而不是像@Mike 建议的那样 var_dump(get_class_methods($myClass));
returns 一个空的数组。
有没有办法获取实例化标准class对象的所有方法?我说的是一个具有一些方法和属性的对象,而不是一个新的 stdClass 对象。 ReflectionClass
似乎只适用于 classes。
试试 get_class_methods(),如果我理解正确的话,听起来就像你描述的那样。
您可以使用 get_object_vars
to get a list of all of the properties, and then iterate over them (or array_filter
them) and determine which of them is_callable
:
$myClass = new StdClass;
$myClass->someFunc = function($a) {
return $a - 1;
};
$myClass->someProperty = 42;
$properties = get_object_vars($myClass);
$methods = array_filter($properties, 'is_callable');
我不确定它是否是我的 PHP 的 5.4.39 版本,但是使用上面的示例而不是像@Mike 建议的那样 var_dump(get_class_methods($myClass));
returns 一个空的数组。