Abstract class Phalcon\Dispatcher

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

Source on GitHub

Это базовый класс для Phalcon\Mvc\Dispatcher и Phalcon\Cli\Dispatcher. Этот класс нельзя создать напрямую, его можно использовать для создания собственных диспетчеров.

Константы

integer EXCEPTION_NO_DI

integer EXCEPTION_CYCLIC_ROUTING

integer EXCEPTION_HANDLER_NOT_FOUND

integer EXCEPTION_INVALID_HANDLER

integer EXCEPTION_INVALID_PARAMS

integer EXCEPTION_ACTION_NOT_FOUND

Методы

public setDI (Phalcon\DiInterface $dependencyInjector)

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

public getDI ()

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

public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager)

Установить внутренний менеджер событий

public getEventsManager ()

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

public setActionSuffix (mixed $actionSuffix)

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

public getActionSuffix ()

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

public setModuleName (mixed $moduleName)

Устанавливает модуль, в котором находится контроллер (только информативный)

public getModuleName ()

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

public setNamespaceName (mixed $namespaceName)

Задает пространство имен, в котором класс контроллера

public getNamespaceName ()

Возвращает пространство имен, добавляемое к имени текущего обработчика

public setDefaultNamespace (mixed $namespaceName)

Задает пространство имен по умолчанию

public getDefaultNamespace ()

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

public setDefaultAction (mixed $actionName)

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

public setActionName (mixed $actionName)

Задает имя действия для отправки

public getActionName ()

Получает имя последнего отправленного действия

public setParams (array $params)

Задает параметры действия для отправки

public getParams ()

Получает параметры действия

public setParam (mixed $param, mixed $value)

Задайте параметр по имени или числовому индексу

public mixed getParam (mixed $param, [string | array $filters], [mixed $defaultValue])

Получает параметр по имени или числовому индексу

public boolean hasParam (mixed $param)

Проверяет, существует ли параметр

public getActiveMethod ()

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

public isFinished ()

Проверяет, завершен ли цикл отправки или имеет больше диспетчеров/задач для отправки

public setReturnedValue (mixed $value)

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

public mixed getReturnedValue ()

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

public setModelBinding (mixed $value, [mixed $cache])

Включить/отключить привязку модели во время отправки

<?php

$di->set('dispatcher', function() {
    $dispatcher = new Dispatcher();

    $dispatcher->setModelBinding(true, 'cache');
    return $dispatcher;
});

public setModelBinder (Phalcon\Mvc\Model\BinderInterface $modelBinder, [mixed $cache])

Включить привязку модели во время отправки

<?php

$di->set('dispatcher', function() {
    $dispatcher = new Dispatcher();

    $dispatcher->setModelBinder(new Binder(), 'cache');
    return $dispatcher;
});

public getModelBinder ()

Возвращает привязку модели

public object dispatch ()

Отправляет действие дескриптора с учетом параметров маршрутизации

protected object _dispatch ()

Отправляет действие дескриптора с учетом параметров маршрутизации

public forward (array $forward)

Перенаправляет поток выполнения другому контроллеру/действию.

<?php

$this->dispatcher->forward(
    [
        "controller" => "posts",
        "action"     => "index",
    ]
);

public wasForwarded ()

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

public getHandlerClass ()

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

public callActionMethod (mixed $handler, mixed $actionMethod, [array $params])

...

public getBoundModels ()

Возвращает связанные модели из экземпляра binder

<?php

class UserController extends Controller
{
    public function showAction(User $user)
    {
        $boundModels = $this->dispatcher->getBoundModels(); // возвращает массив с $user
    }
}

protected _resolveEmptyProperties ()

Задайте пустые свойства по умолчанию (где доступны значения по умолчанию)