PHP: Полиморфизм
2026-02-26 17:23 Diff

Ещё один интересный приём – диспетчеризация по имени файла.

В некоторых системах принято иметь не один файл с разными ключами для конфигурации, а разные файлы, относящиеся к разным средам. Например:

configs/ database.development.json database.production.json database.test.json

Где-то в исходниках должен быть код, который выбирает какой файл загружать. Ниже код использует диспетчеризацию по ключу:

Нетрудно заметить, что имея название среды запуска, можно составить подходящее имя файла. Так и сделаем:

Код стал намного короче и больше не требует изменения при расширении.

Рекомендуемые программы