AnnotationClassLoader
class AnnotationClassLoader implements LoaderInterface
AnnotationClassLoader загружает информацию о маршрутах из PHP-класса и его методов.
Вам нужно определить реализацию метода getRouteDefaults(). В большинстве случаев этот метод должен определять вызываемый PHP-вызов для маршрута (контроллер в MVC-терминологии).
Аннотация @Route может быть установлена на классе (для глобальных параметров) и на каждом методе.
Основным значением аннотации @Route является путь маршрута. Аннотация также распознает несколько параметров: requirements, options, defaults, schemes, methods, host и name. Параметр name является обязательным. Вот пример того, как вы должны использовать его:
/**
* @Route("/Blog")
* /
class Blog
{
/**
* @Route("/", name="blog_index")
* /
public function index()
{
}
/**
* @Route("/{id}", name="blog_post", requirements = {"id" = "\d+"})
* /
public function show()
{
}
}
Методы
| __construct(Reader $reader) Конструктор. | ||
| setRouteAnnotationClass(string $class) Устанавливает класс аннотаций для чтения свойств маршрута. | ||
| load(string $class, string|null $type = null) Загрузка аннотаций из класса. | ||
| bool | supports(mixed $resource, string|null $type = null) Возвращает, поддерживает ли этот класс заданный ресурс. | |
| setResolver(LoaderResolverInterface $resolver) Устанавливает решатель загрузчиков. | ||
| LoaderResolverInterface | getResolver() Возвращает решатель загрузчиков. |
Подробности
__construct(Reader $reader)
Конструктор.
Параметры
| Reader | $reader |
setRouteAnnotationClass(string $class)
Устанавливает класс аннотаций для чтения свойств маршрута.
Параметры
| string | $class | Полное имя класса |
load(string $class, string|null $type = null)
Загрузка аннотаций из класса.
Параметры
| string | $class | Имя класса |
| string|null | $type | Тип ресурса или null, если неизвестен |
Исключения
| InvalidArgumentException | При невозможности парсинга маршрута |
bool supports(mixed $resource, string|null $type = null)
Возвращает, поддерживает ли этот класс заданный ресурс.
Параметры
| mixed | $resource | Ресурс |
| string|null | $type | Тип ресурса или null, если неизвестен |
Возвращаемое значение
| bool | True, если этот класс поддерживает заданный ресурс, иначе false |
setResolver(LoaderResolverInterface $resolver)
Устанавливает решатель загрузчиков.
Параметры
| LoaderResolverInterface | $resolver | Экземпляр LoaderResolverInterface |
LoaderResolverInterface getResolver()
Возвращает решатель загрузчиков.
Возвращаемое значение
| LoaderResolverInterface | Экземпляр LoaderResolverInterface |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Routing/Loader/AnnotationClassLoader.html