获取标准 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 一个空的数组。