首頁>Club>
比如get_func_args('preg_math'),返回preg_match函式形參列表; class的常量,能不能列印到一個關聯陣列?
13
回覆列表
  • 1 # 程式設計師tb

    首先獲取類的常量肯定是不能用get_defined_constants()的,這個函式會返回一堆常量:

    正確解決法如下:

    <?php

    class Foo

    {

    public $a = "a";

    protected $b = "b";

    const NONE = 0;

    const REQUEST = 100;

    const AUTH = 101;

    public function hi($name)

    {

    echo "Hi, $name";

    }

    }

    $foo = new Foo();

    $reflector = new ReflectionClass($foo);

    var_dump($reflector->getConstants());

    透過上面的程式碼,能發現就是使用了PHP的反射嘛,沒錯,反射就是那麼強大,你不會還不知道吧^^

    如果只想獲取指定的常量,程式碼可以如下寫:

    $reflector->getConstant("REQUEST"); // 100

    判斷類是否含有某個常量:

    $reflector->hasConstant("REQUEST"); // true

    $reflector->hasConstant("TEST"); // false

    看到沒有,反射是如此的強大,這是官方文件,趕緊去食用吧:

    https://www.php.net/manual/zh/class.reflection.php

  • 中秋節和大豐收的關聯?
  • 怎樣簡單快速的祛痘?