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.1/Symfony/Component/Routing/Loader/AnnotationClassLoader.html