Получить имя токена с помощью Reflection API - PullRequest
1 голос
/ 25 апреля 2010

Я хочу найти имя токена, переданное дополнением, в функцию.

class Norm
{
    const STR_NORM = 0;
    const INT_NORM = 0;
}

function foo($Arg1, $Arg2 = NULL)
{
    getConstName($Arg1); # Should Return STR_NORM;
    return $Arg1, $Arg2;
}

echo foo(Norm::STR_NORM);

Есть ли способ реализовать getConstName через PHP Reflection API ?

1 Ответ

2 голосов
/ 25 апреля 2010

Нет, потому что внутри foo() значение $Arg является просто целым числом 0. Он не может знать, что это значение получено из констант.

Например, что должно быть выведено в следующем примере?

class Norm
{
    const STR_NORM = 0;
    const INT_NORM = 2;
}

echo foo( Norm::STR_NORM+2 );
echo foo( Norm::INT_NORM );

Должны ли оба эти эхо-сигнала выводить INT_NORM?

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