Spec-Zone.ru › Symfony 4.1

AnnotationClassLoader

абстрактный класс AnnotationClassLoader реализует 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()
    {
    }
}

Свойства

protected $reader
protected string $routeAnnotationClass
protected int $defaultRouteIndex

Методы

__construct(Reader $reader)
setRouteAnnotationClass(string $class)

Устанавливает класс аннотаций для чтения свойств маршрута.

load(string $class, string|null $type = null)

Загрузка аннотаций из класса.

addRoute(RouteCollection $collection, $annot, $globals, ReflectionClass $class, ReflectionMethod $method)
bool supports(mixed $resource, string|null $type = null)

Возвращает, поддерживает ли данный класс указанный ресурс.

setResolver(LoaderResolverInterface $resolver)

Устанавливает решатель загрузчиков.

LoaderResolverInterface getResolver()

Возвращает решатель загрузчиков.

string getDefaultRouteName(ReflectionClass $class, ReflectionMethod $method)

Возвращает имя по умолчанию маршрута для метода класса.

getGlobals(ReflectionClass $class)
createRoute($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition)
configureRoute(Route $route, ReflectionClass $class, ReflectionMethod $method, $annot)

Подробности

__construct(Reader $reader)

Параметры

Reader $reader

setRouteAnnotationClass(string $class)

Устанавливает класс аннотаций для чтения свойств маршрута.

Параметры

string $class Полное имя класса

load(string $class, string|null $type = null)

Загрузка аннотаций из класса.

Параметры

string $class Имя класса
string|null $type Тип ресурса или null, если неизвестен

Исключения

InvalidArgumentException При невозможности парсинга маршрута

protected addRoute(RouteCollection $collection, $annot, $globals, ReflectionClass $class, ReflectionMethod $method)

Параметры

RouteCollection $collection
$annot
$globals
ReflectionClass $class
ReflectionMethod $method

bool supports(mixed $resource, string|null $type = null)

Возвращает, поддерживает ли данный класс указанный ресурс.

Параметры

mixed $resource Ресурс
string|null $type Тип ресурса или null, если неизвестен

Возвращаемое значение

bool True, если класс поддерживает данный ресурс, иначе false

setResolver(LoaderResolverInterface $resolver)

Устанавливает решатель загрузчиков.

Параметры

LoaderResolverInterface $resolver

LoaderResolverInterface getResolver()

Возвращает решатель загрузчиков.

Возвращаемое значение

LoaderResolverInterface Экземпляр LoaderResolverInterface

protected string getDefaultRouteName(ReflectionClass $class, ReflectionMethod $method)

Возвращает имя по умолчанию маршрута для метода класса.

Параметры

ReflectionClass $class
ReflectionMethod $method

Возвращаемое значение

string

protected getGlobals(ReflectionClass $class)

Параметры

ReflectionClass $class

protected createRoute($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition)

Параметры

$path
$defaults
$requirements
$options
$host
$schemes
$methods
$condition

abstract protected configureRoute(Route $route, ReflectionClass $class, ReflectionMethod $method, $annot)

Параметры

Route $route
ReflectionClass $class
ReflectionMethod $method
$annot

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Routing/Loader/AnnotationClassLoader.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API