Как удобно достать private const? Есть клас в котором описано некоторое количество приватных констант. class Test { private const ONE = 1; private const TWO = 2; ... } и соответственно есть функции для работыclass Test { .... public function all() { return [ self::ONE => 'один', self::TWO => 'два' ] } public function getOne() { return self::ONE; } ... } но вскорее этот клас может заполонить много таких констант и писать такие функции не охота каждый раз. Что можно придумать?
В данном случае можно использовать рефлексию для получения значения приватной константы. Вот пример кода, который позволит получить значение приватной константы из класса Test:
class Test { private const ONE = 1; private const TWO = 2; } $class = new ReflectionClass('Test'); $constants = $class->getConstants(); echo $constants['ONE']; // выводит значение приватной константы ONE echo $constants['TWO']; // выводит значение приватной константы TWO
При использовании рефлексии необходимо учитывать, что она может снизить производительность кода. Поэтому рекомендуется использовать ее осторожно и только в случаях, когда другие способы доступа к приватным константам не подходят.
В данном случае можно использовать рефлексию для получения значения приватной константы.
class Test {Вот пример кода, который позволит получить значение приватной константы из класса Test:
private const ONE = 1;
private const TWO = 2;
}
$class = new ReflectionClass('Test');
$constants = $class->getConstants();
echo $constants['ONE']; // выводит значение приватной константы ONE
echo $constants['TWO']; // выводит значение приватной константы TWO
При использовании рефлексии необходимо учитывать, что она может снизить производительность кода. Поэтому рекомендуется использовать ее осторожно и только в случаях, когда другие способы доступа к приватным константам не подходят.