我可以使用PHP反射来提取功能代码吗?

时间:2010-11-28 20:45:34

标签: php reflection

我正在使用PHP ReflectionClass来尽可能多地提取有关类的信息。我还可以用它来从函数中获取返回值吗?或者这没有意义,因为反射只描述对象接受的内容?

2 个答案:

答案 0 :(得分:2)

如果函数具有明确定义的返回值,则无法依赖,只需从源代码中提取即可。想象一下这样的事情:

return $this->isValid() ? $result : $this->createNullObject();

很难(/不可能)解析只是为了获得返回值。您可以改用DocComments。 @return 是该用途的常用标记

/**
 * MyMethod
 *
 * @return int
 */

ReflectionMethod 对象上调用 getDocComment(),然后解析docComment。

答案 1 :(得分:0)

用于您可以使用的内部功能

$reflect = new ReflectionExtension('standard');
echo "<pre>" . $reflect . "</pre>";