Yansıma API ile Token Adı alın

1 Cevap php

Ben bir işlev içine arttıracağı geçti simgenin adını bulmak istiyorum.

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);

PHP Reflection API aracılığıyla getConstName uygulamak için herhangi bir yolu var mı?

1 Cevap

Hayır, içeride foo(), değeri $Arg sadece tamsayı 0 olmasıdır. Bu değer bir const geldiğini bilmenin bir yolu vardır.

Örneğin, hangi aşağıdaki örnekte çıkış olmalıdır?

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

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

Should bu yankılar çıkışının her INT_NORM?