Класс Phalcon\Mvc\Router

Реализует Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\RouterInterface, Phalcon\Events\EventsAwareInterface

Source on GitHub

Phalcon\Mvc\Router является стандартным маршрутизатором платформы. Маршрутизация является процессом взятия оконечной точки URI (та часть URI, который прибывает после базового URL) и разложения его в параметры, чтобы определить, какой модуль, контроллер и действие того контроллера должны получить запрос

<?php

use Phalcon\Mvc\Router;

$router = new Router();

$router->add(
    "/documentation/{chapter}/{name}\.{type:[a-z]+}",
    [
        "controller" => "documentation",
        "action"     => "show",
    ]
);

$router->handle();

echo $router->getControllerName();

Константы

integer URI_SOURCE_GET_URL

integer URI_SOURCE_SERVER_REQUEST_URI

integer POSITION_FIRST

integer POSITION_LAST

Методы

public __construct ([mixed $defaultRoutes])

Phalcon\Mvc\Router конструктор

public setDI (Phalcon\DiInterface $dependencyInjector)

Устанавливает инжектор зависимостей

public getDI ()

Возвращает инжектор внутренних зависимостей

public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager)

Устанавливает диспетчер событий

public getEventsManager ()

Возвращает внутренний менеджер событий

public getRewriteUri ()

Получите информацию о переписывании. Эта информация считывается из $_GET["_url"]. Это возвращает '/', если переписать информацию не удается.

public setUriSource (mixed $uriSource)

Устанавливает источник URI. Одна из констант URISOURCE*

<?php

$router->setUriSource(
    Router::URI_SOURCE_SERVER_REQUEST_URI
);

public removeExtraSlashes (mixed $remove)

Укажите, должен ли маршрутизатор удалять лишние косые черты в обработанных маршрутах

public setDefaultNamespace (mixed $namespaceName)

Устанавливает имя пространства имен по умолчанию

public setDefaultModule (mixed $moduleName)

Устанавливает имя модуля по умолчанию

public setDefaultController (mixed $controllerName)

Устанавливает имя контроллера по умолчанию

public setDefaultAction (mixed $actionName)

Устанавливает имя действия по умолчанию

public setDefaults (array $defaults)

Устанавливает массив путей по умолчанию. Если в маршруте отсутствует путь, маршрутизатор будет использовать определенные здесь. Этот метод не должен использоваться для установки маршрута 404

<?php

$router->setDefaults(
    [
        "module" => "common",
        "action" => "index",
    ]
);

public getDefaults ()

Возвращает массив параметров по умолчанию

public handle ([mixed $uri])

Обрабатывает информацию о маршрутизации, полученную от механизма перезаписи

<?php

// Прочитать информацию с помощью механизма перезаписи
$router->handle();

// Передача URL вручную
$router->handle("/posts/edit/1");

public add (mixed $pattern, [mixed $paths], [mixed $httpMethods], [mixed $position])

Добавляет маршрут к маршрутизатору без ограничения HTTP

<?php

use Phalcon\Mvc\Router;

$router->add("/about", "About::index");
$router->add("/about", "About::index", ["GET", "POST"]);
$router->add("/about", "About::index", ["GET", "POST"], Router::POSITION_FIRST);

public addGet (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу GET

public addPost (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу POST

public addPut (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу PUT

public addPatch (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу PATCH

public addDelete (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу DELETE

public addOptions (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP - метод OPTIONS

public addHead (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу HEAD

public addPurge (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу PURGE (поддержка Squid и Varnish)

public addTrace (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу TRACE

public addConnect (mixed $pattern, [mixed $paths], [mixed $position])

Добавляет маршрут к маршрутизатору, который соответствует только HTTP-методу CONNECT

public mount (Phalcon\Mvc\Router\GroupInterface $group)

Настраивает группу маршрутов в маршрутизаторе

public notFound (mixed $paths)

Задать группу путей, которые будут возвращены, когда ни один из определенных маршрутов не будет согласован

public clear ()

Удаляет все заранее определенные маршруты

public getNamespaceName ()

Возвращает обработанное имя пространства имен

public getModuleName ()

Возвращает имя обработанного модуля

public getControllerName ()

Возвращает имя обработанного контроллера

public getActionName ()

Возвращает имя обработанного действия

public getParams ()

Возвращает обработанные параметры

public getMatchedRoute ()

Возвращает маршрут, который соответствует обработанному URI

public getMatches ()

Возвращает вспомогательные выражения в соответствующем регулярном выражении

public wasMatched ()

Проверяет, соответствует ли маршрутизатор любому из определенных маршрутов

public getRoutes ()

Возвращает все маршруты, определенные в маршрутизаторе

public getRouteById (mixed $id)

Возвращает объект маршрута по его идентификатору

public getRouteByName (mixed $name)

Возвращает объект маршрута по имени

public isExactControllerName ()

Возвращает, не следует ли изменять имя контроллера