Класс Phalcon\Mvc\Dispatcher
расширяет абстрактный класс Phalcon\Dispatcher
реализует Phalcon\Events\EventsAwareInterface, Phalon\Di\InjectionAwareInterface, Phalcon\DispatcherInterface, Phalcon\Mvc\DispatcherInterface
Диспатчинг — это процесс взятия объекта запроса, извлечения из него имени модуля, имени контроллера, имени действия и необязательных параметров, а затем создание экземпляра контроллера и вызова действия этого контроллера.
$di = new \Phalcon\Di();
$dispatcher = new \Phalcon\Mvc\Dispatcher();
$dispatcher->setDI($di);
$dispatcher->setControllerName("posts");
$dispatcher->setActionName("index");
$dispatcher->setParams([]);
$controller = $dispatcher->dispatch();
Константы
целое число EXCEPTION_NO_DI
целое число EXCEPTION_CYCLIC_ROUTING
целое число EXCEPTION_HANDLER_NOT_FOUND
целое число EXCEPTION_INVALID_HANDLER
целое число EXCEPTION_INVALID_PARAMS
целое число EXCEPTION_ACTION_NOT_FOUND
Методы
public setControllerSuffix (смешанный тип $controllerSuffix)
Устанавливает стандартный суффикс контроллера
public setDefaultController (смешанный тип $controllerName)
Устанавливает имя стандартного контроллера
public setControllerName (смешанный тип $controllerName)
Устанавливает имя контроллера для обработки
public getControllerName ()
Получает имя последнего обработанного контроллера
public getPreviousNamespaceName ()
Получает имя предыдущего обработанного пространства имён
public getPreviousControllerName ()
Получает имя предыдущего обработанного контроллера
public getPreviousActionName ()
Получает имя предыдущего обработанного действия
protected _throwDispatchException (смешанный тип $message, [смешанный тип $exceptionCode])
Выбрасывает внутреннее исключение
protected _handleException (Exception $exception)
Обрабатывает пользовательское исключение
public getControllerClass ()
Возможные имена класса контроллера, которые будут использоваться для обработки запроса
public getLastController ()
Возвращает последний обработанный контроллер
public getActiveController ()
Возвращает активный контроллер в диспатчере
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 (смешанный тип $actionSuffix) унаследован от Phalcon\Dispatcher
Устанавливает стандартный суффикс действия
public getActionSuffix () унаследован от Phalcon\Dispatcher
Получает стандартный суффикс действия
public setModuleName (смешанный тип $moduleName) унаследован от Phalcon\Dispatcher
Устанавливает модуль, в котором находится контроллер (только для информации)
public getModuleName () унаследован от Phalcon\Dispatcher
Получает модуль, в котором находится класс контроллера
public setNamespaceName (смешанный тип $namespaceName) унаследован от Phalcon\Dispatcher
Устанавливает пространство имён, в котором находится класс контроллера
public getNamespaceName () унаследован от Phalcon\Dispatcher
Получает пространство имён, которое будет добавлено к имени текущего обработчика
public setDefaultNamespace (смешанный тип $namespaceName) унаследован от Phalcon\Dispatcher
Устанавливает стандартное пространство имён
public getDefaultNamespace () унаследован от Phalcon\Dispatcher
Возвращает стандартное пространство имён
public setDefaultAction (смешанный тип $actionName) унаследован от Phalcon\Dispatcher
Устанавливает имя стандартного действия
public setActionName (смешанный тип $actionName) унаследован от Phalcon\Dispatcher
Устанавливает имя действия для обработки
public getActionName () унаследован от Phalcon\Dispatcher
Получает имя последнего обработанного действия
public setParams (массив $params) унаследован от Phalcon\Dispatcher
Устанавливает параметры действия для обработки
public getParams () унаследован от Phalcon\Dispatcher
Получает параметры действия
public setParam (смешанный тип $param, смешанный тип $value) унаследован от Phalcon\Dispatcher
Устанавливает параметр по его имени или числовому индексу
public смешанный тип getParam (смешанный тип $param, [строка | массив $filters], [смешанный тип $defaultValue]) унаследован от Phalcon\Dispatcher
Получает параметр по его имени или числовому индексу
public булево hasParam (смешанный тип $param) унаследован от Phalcon\Dispatcher
Проверяет существование параметра
public getActiveMethod () унаследован от Phalcon\Dispatcher
Возвращает текущий метод, который будет/должен быть выполнен в диспатчере
public isFinished () унаследован от Phalcon\Dispatcher
Проверяет, завершён ли цикл обработки или есть ещё контроллеры/задачи для обработки
public setReturnedValue (смешанный тип $value) унаследован от Phalcon\Dispatcher
Устанавливает последнее возвращённое значение действием вручную
public смешанный тип getReturnedValue () унаследован от Phalcon\Dispatcher
Возвращает значение, возвращённое последним обработанным действием
public setModelBinding (смешанный тип $value, [смешанный тип $cache]) унаследован от Phalcon\Dispatcher
Включает/выключает привязку моделей во время обработки
$di->set('dispatcher', function() {
$dispatcher = new Dispatcher();
$dispatcher->setModelBinding(true, 'cache');
return $dispatcher;
});
public setModelBinder (Phalcon\Mvc\Model\BinderInterface $modelBinder, [смешанный тип $cache]) унаследован от Phalcon\Dispatcher
Включает привязку моделей во время обработки
$di->set('dispatcher', function() {
$dispatcher = new Dispatcher();
$dispatcher->setModelBinder(new Binder(), 'cache');
return $dispatcher;
});
public getModelBinder () унаследован от Phalcon\Dispatcher
Получает привязку моделей
public object dispatch () inherited from Phalcon\Dispatcher
Передает обработку действия с учетом параметров маршрутизации
protected object _dispatch () inherited from Phalcon\Dispatcher
Передает обработку действия с учетом параметров маршрутизации
public forward (array $forward) inherited from Phalcon\Dispatcher
Передает поток выполнения другому контроллеру/действию. Диспетчеры уникальны для каждого модуля. Передача между модулями запрещена
$this->dispatcher->forward(
[
"controller" => "posts",
"action" => "index",
]
);
public wasForwarded () inherited from Phalcon\Dispatcher
Проверяет, было ли текущее выполняемое действие перенаправлено другим
public getHandlerClass () inherited from Phalcon\Dispatcher
Возможные имена классов, которые будут использованы для обработки запроса
public callActionMethod (mixed $handler, mixed $actionMethod, [array $params]) inherited from Phalcon\Dispatcher
...
public getBoundModels () inherited from Phalcon\Dispatcher
Возвращает связанные модели из экземпляра связующего компонента
class UserController extends Controller
{
public function showAction(User $user)
{
$boundModels = $this->dispatcher->getBoundModels(); // return array with $user
}
}
protected _resolveEmptyProperties () inherited from Phalcon\Dispatcher
Устанавливает пустые свойства в значения по умолчанию (если значения по умолчанию доступны)
© 2011–2017 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_Dispatcher.html