Сейчас куча констант раскиданы по разным классам и обратил внимание, что часто приходится импортировать класс только лишь для вставки констант. phpStorm просит импортировать, а отключать его подобные просьбы совсем не хочется.
Генерирую объект суммы денежки.
$money = \g::bank()->money(\cy::USD, 150);
Во внутрях g::bank()->money() класс cy ("справочник валюты") активно используется. И мне приходится о нем помнить и упоминать при создании суммы.
Вот в таких случаях хочется глобальную константу CY_USD. Я понимаю слова про модульность, независимость и т.п., но так задолбало импортировать классы лишь ради констант.
Можно вот так запилить. Тогда внешний код может юзать упрощенный варианты, а внутренний код модуля сохранит "кучность":
const CY_USD = \cy::USD;
const BTL_T_CREDENZA = \Battle::TYPE_CREDENZA;
const ADVT_FULL = \thing\advanced\Manager::MASK_FULL;
Еще пример. В драйвер БД встроена примочка для вставки констант и для неё приходится писать полный путь
...
and b.type = #holiday\Cherry::B_TYPE -- код находится в классе Cherry, но один фиг укажи полное имя класса
and b.win in(1, 2)
and b.starttime >= :a
Вот и решил я собрать все константы в один файл. Интересует вопрос производительности, ресурсов и т.п. - не сильно ли я напрягу интерпретатор, если соберу все константы в один файл (opcache используется) ?
Если у вас есть подобный велосипед, например, по сбору констант с кучи файликов в один файл буду признателен :)
___
P.S.
Раз возмущения лишь каноничного характера, то можно попробовать :)