我在哪里可以获得反射修改值的列表?

时间:2011-10-26 19:25:01

标签: php reflection introspection

This function为我的一个课程返回了524320。如果我通过getModifierNames运行它,它会告诉我:

>> Reflection::getModifierNames(524320)
array (
  0 => 'abstract',
)

哪个是正确的,但是524320不是2的幂,所以它必须有其他标志?实际上,如果我们看一下它的二进制表示,10100111看起来它有5个标志设置。那么其他4是什么,我在哪里可以找到所有这些的列表?

编辑:现在我很困惑......根据this,代表实际上是10000000000000100000。这是有道理的,因为它对应于“显式抽象类”。哦......我敢打赌,这是一个溢出的问题,现在我正在考虑......必须再多研究一下。

1 个答案:

答案 0 :(得分:6)

请参阅http://lxr.php.net/xref/PHP_TRUNK/Zend/zend_compile.h#144

中的ZEND_ACC_ *常量

请注意,其中一些是内部的,不会以任何方式导出到用户空间。导出到用户空间的那些可以在http://php.net/manual/en/class.reflectionmethod.php和其他类中找到。