Класс Phalcon\Cli\Dispatcher

расширяет абстрактный класс Phalcon\Dispatcher

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

Source on GitHub

Диспетчеризация-это процесс принятия аргументов командной строки, извлечения имени модуля, имени задачи, имени действия и дополнительных параметров, содержащихся в нем, а затем создания экземпляра задачи и вызова действия над ней.

<?php

use Phalcon\Di;
use Phalcon\Cli\Dispatcher;

$di = new Di();
$dispatcher = new Dispatcher();
$dispatcher->setDi($di);

$dispatcher->setTaskName("posts");
$dispatcher->setActionName("index");
$dispatcher->setParams([]);

$handle = $dispatcher->dispatch();

Константы

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 setTaskSuffix (mixed $taskSuffix)

Задает суффикс задачи по умолчанию

public setDefaultTask (mixed $taskName)

Задает имя задачи по умолчанию

public setTaskName (mixed $taskName)

Задает имя задачи для отправки

public getTaskName ()

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

protected _throwDispatchException (mixed $message, [mixed $exceptionCode])

Создает внутреннее исключение

protected _handleException (Exception $exception)

Обрабатывает исключение пользователя

public getLastTask ()

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

public getActiveTask ()

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

public setOptions (array $options)

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

public getOptions ()

Получает параметры отправки

public getOption (mixed $option, [string | array $filters], [mixed $defaultValue])

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

public hasOption (mixed $option)

Проверить, существует ли опция

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

Вызывает метод действия.

public setDI (Phalcon\DiInterface $dependencyInjector) унаследованный от Phalcon\Dispatcher

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

public getDI () унаследованный от Phalcon\Dispatcher

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

public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager) унаследованный от Phalcon\Dispatcher

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

public getEventsManager () унаследованный от Phalcon\Dispatcher

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

public setActionSuffix (mixed $actionSuffix) унаследованный от Phalcon\Dispatcher

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

public getActionSuffix () унаследованный от Phalcon\Dispatcher

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

public setModuleName (mixed $moduleName) унаследованный от Phalcon\Dispatcher

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

public getModuleName () унаследованный от Phalcon\Dispatcher

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

public setNamespaceName (mixed $namespaceName) унаследованный от Phalcon\Dispatcher

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

public getNamespaceName () унаследованный от Phalcon\Dispatcher

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

public setDefaultNamespace (mixed $namespaceName) унаследованный от Phalcon\Dispatcher

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

public getDefaultNamespace () унаследованный от Phalcon\Dispatcher

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

public setDefaultAction (mixed $actionName) унаследованный от Phalcon\Dispatcher

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

public setActionName (mixed $actionName) унаследованный от Phalcon\Dispatcher

Устанавливает имя действия, которое нужно отправить

public getActionName () унаследованный от Phalcon\Dispatcher

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

public setParams (array $params) унаследованный от Phalcon\Dispatcher

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

public getParams () унаследованный от Phalcon\Dispatcher

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

public setParam (mixed $param, mixed $value) унаследованный от Phalcon\Dispatcher

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

public mixed getParam (mixed $param, [string | array $filters], [mixed $defaultValue]) унаследованный от Phalcon\Dispatcher

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

public boolean hasParam (mixed $param) унаследованный от Phalcon\Dispatcher

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

public getActiveMethod () унаследованный от Phalcon\Dispatcher

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

public isFinished () унаследованный от Phalcon\Dispatcher

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

public setReturnedValue (mixed $value) унаследованный от Phalcon\Dispatcher

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

public mixed getReturnedValue () унаследованный от Phalcon\Dispatcher

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

public setModelBinding (mixed $value, [mixed $cache]) унаследованный от Phalcon\Dispatcher

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

<?php

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

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

public setModelBinder (Phalcon\Mvc\Model\BinderInterface $modelBinder, [mixed $cache]) унаследованный от Phalcon\Dispatcher

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

<?php

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

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

public getModelBinder () унаследованный от Phalcon\Dispatcher

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

public object dispatch () унаследованный от Phalcon\Dispatcher

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

protected object _dispatch () унаследованный от Phalcon\Dispatcher

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

public forward (array $forward) унаследованный от Phalcon\Dispatcher

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

<?php

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

public wasForwarded () унаследованный от Phalcon\Dispatcher

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

public getHandlerClass () унаследованный от Phalcon\Dispatcher

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

public getBoundModels () унаследованный от Phalcon\Dispatcher

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

<?php

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

protected _resolveEmptyProperties () унаследованный от Phalcon\Dispatcher

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