Php:如何通过反射列出静态字段/属性?
假设我有这个类:
class Example {
public static $FOO = array('id'=>'foo', 'length'=>23, 'height'=>34.2);
public static $BAR = array('id'=>'bar', 'length'=>22.5, 'height'=>96.223);
}
如何使用反射来获取静态字段的列表? (类似 array('$FOO', '$BAR') 之类的东西?)
Let's say I have this class:
class Example {
public static $FOO = array('id'=>'foo', 'length'=>23, 'height'=>34.2);
public static $BAR = array('id'=>'bar', 'length'=>22.5, 'height'=>96.223);
}
How could I use reflection to get a list of the static fields? (Something like array('$FOO', '$BAR')?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要使用 [
ReflectionClass][1]
。getProperties()
函数将返回ReflectionProperty
对象。ReflectionProperty
对象有一个isStatic()
方法会告诉您该属性是否是静态的,以及getName()
返回名称的方法。示例:
You'll want to use [
ReflectionClass][1]
. ThegetProperties()
function will return an array ofReflectionProperty
objects. TheReflectionProperty
object have aisStatic()
method which will tell you whether the property is static or not and agetName()
method that return the name.Example: