在php中获取类的所有静态属性的最简单方法

Ray*_*Ray 6 php class

我有一个静态类Foo(这不是一个真正的类,所以静态字段只是例如)

class Foo{
    public static $name = "foo";
    public static $age = "18";
    public static $city = "Boston";
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我想构建一个包含所有公共静态属性及其当前值的数组.

有没有一个快速/简单的方法,任何人都可以建议这样做而不实例化Foo?

Mat*_*son 12

使用这样的ReflectionClass实例来获取属性名称和值的数组:

$class = new ReflectionClass('Foo');
$staticProperties = $class->getStaticProperties();

foreach ($staticProperties as $propertyName => $value) { 
    // Your code here
}
Run Code Online (Sandbox Code Playgroud)


roy*_*hri 7

使用反射

<?php
require_once "Foo.php";
$reflection = new ReflectionClass("Foo"); 
$staticProperties = $reflection->getStaticProperties();
print_r($staticProperties)
Run Code Online (Sandbox Code Playgroud)

  • 我认为对于 99.99% 的问题,从技术上来说我们总是可以说 RTFM。你有一个设计问题,好吧,读 10 本关于设计模式的书。你的内核模块有问题,好吧,Linux 内核源代码是开放的,所以请通读它。哎呀,为什么会有堆栈溢出。 (2认同)