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