proklung / facade-bundle
Laravel like facades for Symfony.
Installs: 44
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.3
- psr/container: ^1.0
- symfony/config: ^4.0 || ^5.0
- symfony/dependency-injection: ^4.0 || ^5.0
- symfony/http-kernel: ^4.0 || ^5.0
Requires (Dev)
README
Отличается от обычного (для этой конструкции) тем, что не надо вызывать boot вне контейнера и внутри не используется "магический" доступ к контейнеру.
Установка
-
composer require proklung/facade.bundle
-
Активировать бандл в bundles.php (или в случае кастомных использований Symfony - в standalone_bundles.php).
Детали
За основу взят пакет https://github.com/IndraGunawan/facade-bundle.
Существенное отличие: под капотом у фасадов нативная (ларавеловская) система мокинга с помощью Mockery. Плюс нативный способ моканья для тестов.
Нюансы
Фасад должен наследоваться от Prokl\FacadeBundle\Services\Services\AbstractFacade
и реализовывать метод
getFacadeAccessor, возвращающий ID сервиса (все как в Laravel). Возможно возвращать с @ или без оного символа.
Также он может быть - но это не обязательно - помечен тэгом laravel.facade
. Без тэга оно само найдет его по
признаку наследования от AbstractFacade.