proklung / arguments-resolvers-bundle
Бандл с кастомными ресолверами аргументов для Symfony.
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.3
- symfony/config: ~4|~5
- symfony/dependency-injection: ^3.4 || ^4.0 || ^5.0
- symfony/http-kernel: ^4.0 || ^5.0
- symfony/string: ^4.0 || ^5.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-11-25 16:34:34 UTC
README
INTERNAL
Установка
composer require proklung/arguments-resolvers-bundle
Argument resolvers
RequestParamsResolver
Преобразует GET/POST/etc параметры контроллера в аргументы action (если они не помечены в качестве атрибутов при описании роута)
Признак контроллера, подлежащего обработке - интерфейс RequestQueryInterface
Нюанс: этот ресолвер должен запускаться раньше других. Сейчас его приоритет 50000.
class QueryController extends AbstractController implements RequestQueryInterface { public function action(Request $request, int $param): Response { // В $param будет лежать содержимое GET/POST переменной param. return new Response('OK'); } }
ArrayRecursiveArgumentResolver
Массив, переданный как параметр в роут, рекурсивно прогоняется на предмет переменных и сервисов.
Управление
Любой ресолвер из бандла можно запретить посредством опции в конфигурационном файле
/config/packages/argument_resolvers.yaml
:
argument_resolvers: # Включить/отключить бандл целиком defaults: enabled: true resolvers: # Отключается ресолвер argument_resolvers.argument_resolver_query argument_resolvers.argument_resolver_query: false