Разные сервисы Битрикс:
- без статических методов;
- с интерфейсами;
- ленивые (не подключают Битрикс в конструкторе);
- совместимо-типизированные.
composer require maximaster/bitrix-unstatic
- можно писать модульные тесты на код использующий Битрикс, т.к. легко подменить реалзиацию на пустышку;
- при связке Битрикс+фреймворк можно подключать сервисы Битрикс в DI-контейнер не загружая Битрикс тут же.
Внедряйте интерфейсы из пространства Maximaster\BitrixUnstatic\Contract
как зависимости. На данный момент в наличии:
Application
←Bitrix\Main\Application
;Config\Option
←Bitrix\Main\Config\Option
.