ControllerResolver
class ControllerResolver implements ControllerResolverInterface
Резольвер контроллеров.
Это реализация использует атрибут запроса '_controller' для определения контроллера для выполнения и использует атрибуты запроса для определения аргументов метода контроллера.
Методы
| __construct(LoggerInterface $logger = null) Конструктор. | ||
| callable|false | getController(Request $request) Возвращает экземпляр контроллера, связанный с запросом. | |
| array | getArguments(Request $request, callable $controller) Возвращает аргументы, которые нужно передать контроллеру. |
Подробное описание
__construct(LoggerInterface $logger = null)
Конструктор.
Параметры
| LoggerInterface | $logger | Экземпляр LoggerInterface |
callable|false getController(Request $request)
Возвращает экземпляр контроллера, связанный с запросом.
Поскольку для одного приложения может существовать несколько резольверов, резольвер должен вернуть false, когда он не может определить контроллер.
Резольвер должен выбрасывать исключение только в том случае, когда он должен загрузить контроллер, но не может из-за ошибок, допущенных разработчиком.
Параметры
| Request | $request | Экземпляр Request |
Возвращаемое значение
| callable|false | PHP вызываемый объект, представляющий контроллер, или false, если этот резольвер не может определить контроллер |
Исключения
| LogicException | Если контроллер не найден |
array getArguments(Request $request, callable $controller)
Возвращает аргументы, которые нужно передать контроллеру.
Параметры
| Request | $request | Экземпляр Request |
| callable | $controller | PHP вызываемый объект |
Возвращаемое значение
| array | Массив аргументов, которые нужно передать контроллеру |
Исключения
| RuntimeException | Когда значение для заданного аргумента не предоставлено |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/HttpKernel/Controller/ControllerResolver.html