PHP: получить константы класса из статического метода, используя ReflectionClass - PullRequest
0 голосов
/ 27 февраля 2012

Я пытаюсь получить список констант класса из статического метода.

public static function example()
{
  $reflection = new \ReflectionClass(get_called_class());
  var_dump($reflection -> getConstants());
}

Броски Fatal error: Cannot access self:: when no class scope is active

Есть ли способ, чтобы это сработало, или я столкнулся с ограничением другого языка в php?

Ответы [ 2 ]

0 голосов
/ 27 февраля 2012
// creates a reflection class object
$reflection = new ReflectionClass ( $this );

//gets all the constants of the current class 
$consts = $reflection->getConstants ();

надеюсь, это поможет.

0 голосов
/ 27 февраля 2012

Я только что попробовал ваш код, и он работает нормально, не могли бы вы привести пример вашего реального класса?

class test23 {
    const te = 'asd';
    var $ya = 'hoopla';
    public static function example()
    {
        $reflection = new ReflectionClass(get_called_class());
        var_dump($reflection -> getConstants());
    }
}

test23::example(); возвращает array(1) { ["te"]=> string(3) "asd" }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...