https://github.com/proklung/arguments.resolvers.bundle
Бандл с кастомными ресолверами аргументов для Symfony
https://github.com/proklung/arguments.resolvers.bundle
bitrix-symfony php7 symfony-bundle wordpress-symfony
Last synced: 2 months ago
JSON representation
Бандл с кастомными ресолверами аргументов для Symfony
- Host: GitHub
- URL: https://github.com/proklung/arguments.resolvers.bundle
- Owner: ProklUng
- Created: 2021-04-29T12:56:55.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-25T08:45:23.000Z (almost 4 years ago)
- Last Synced: 2024-12-25T21:24:14.689Z (4 months ago)
- Topics: bitrix-symfony, php7, symfony-bundle, wordpress-symfony
- Language: PHP
- Homepage:
- Size: 11.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.MD
Awesome Lists containing this project
README
# Бандл с кастомными ресолверами аргументов для Symfony
INTERNAL
## Установка
`composer require proklung/arguments-resolvers-bundle`
## Argument resolvers
#### RequestParamsResolver
Преобразует GET/POST/etc параметры контроллера в аргументы action (если они не помечены в качестве атрибутов при описании роута)
Признак контроллера, подлежащего обработке - интерфейс `RequestQueryInterface`
**Нюанс**: этот ресолвер должен запускаться раньше других. Сейчас его приоритет 50000.
```php
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`:
```yaml
argument_resolvers:
# Включить/отключить бандл целиком
defaults:
enabled: true
resolvers:
# Отключается ресолвер argument_resolvers.argument_resolver_query
argument_resolvers.argument_resolver_query: false
```