Доступ к статическому объекту с помощью имени переменной

Я знаю, что его можно получить доступ к объекту / методу, используя переменную в качестве ее имени

напр .:

$propName = 'something'; $something = $object->$propName; 

Можно ли делать те же w / константы или статические свойства?

Я пробовал:

$ constName = 'MY_CONST';

 MyCLass::{$constName}; 

а также

 $obj::{$constName}; 

Но ничего не работает, и я не мог найти его нигде.

Use: Class::$$constName , это похоже на обычные переменные переменные .

Демо-версия:

 <?php class MyClass { public static $var = 'A'; } $name = 'var'; echo MyClass::$$name; // echoes 'A' 

Константы могут иметь доступ с constant функцией:

 constant('MyClass::'.$constantName) 

Вы можете использовать постоянную функцию:

 constant('bar::'. $const); constant("$obj::". $const); //note the double quote 

Это работает для меня:

 <?php class Test { public static $nombre = "pepe"; public function __construct() { return self; } } $varName = "nombre"; echo Test::${$varName};