Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как получить все константы текущего класса?
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Как получить все константы текущего класса?

Страниц (1): [1]
 

1. webgrig - 10 Июля, 2017 - 11:30:05 - перейти к сообщению
Функция:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. static function getConstants() {
  3.     $oClass = new ReflectionClass(__CLASS__);
  4.     return $oClass->getConstants();
  5. }
  6.  


возвращает не только константы текущего класс но так же константы которые были объявлены в родительских классах, а мне нужно получить константы только текущего класса.
2. Строитель - 11 Июля, 2017 - 23:36:22 - перейти к сообщению
webgrig пишет:
нужно получить константы только текущего класса
Если думать логично, то можно создать промежуточный класс [разумеется в том случае, если к базовому классу нет доступа(например, дочерний класс реализует некий интерфейс)], который будет расширять базовый класс. Этот промежуточный класс будет содержать только один статический метод, возвращающий константы базового класса. Ну а дальше просто извлекать из массивов необходимые константы (см. пример)
Спойлер (Отобразить)
P.S.: может это быдлокод? тогда подправьте меня, пожалуйста.

 

Powered by ExBB FM 1.0 RC1