AnnotationClassLoader
class AnnotationClassLoader implements LoaderInterface
AnnotationClassLoader загружает информацию о маршрутизации из PHP-класса и его методов.
Вам нужно определить реализацию метода getRouteDefaults(). В большинстве случаев этот метод должен определять вызываемый PHP-вызов для маршрута (контроллер в MVC-терминах).
Аннотация @Route может быть установлена на классе (для глобальных параметров) и на каждом методе.
Основным значением аннотации @Route является путь маршрута. Аннотация также распознаёт несколько параметров: требования, опции, значения по умолчанию, схемы, методы, хост и имя. Параметр имени является обязательным. Вот пример того, как вы можете её использовать:
/**
* @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.0/Symfony/Component/Routing/Loader/AnnotationClassLoader.html