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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как получить все константы текущего класса?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
webgrig
Отправлено: 10 Июля, 2017 - 11:30:05
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




Функция:

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


возвращает не только константы текущего класс но так же константы которые были объявлены в родительских классах, а мне нужно получить константы только текущего класса.
 
 Top
Строитель
Отправлено: 11 Июля, 2017 - 23:36:22
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




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

(Отредактировано автором: 12 Июля, 2017 - 00:07:01)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB