Abstract Class Phalcon\Dispatcher\AbstractDispatcher
Código fuente en GitHub
Namespace |
Phalcon\Dispatcher |
|
Uses |
Exception, Phalcon\Di\DiInterface, Phalcon\Di\AbstractInjectionAware, Phalcon\Dispatcher\Exception, Phalcon\Events\EventsAwareInterface, Phalcon\Events\ManagerInterface, Phalcon\Filter\FilterInterface, Phalcon\Mvc\Model\Binder, Phalcon\Mvc\Model\BinderInterface |
|
Extends |
AbstractInjectionAware |
|
Implements |
DispatcherInterface, EventsAwareInterface |
Esta es la clase base para Phalcon\Mvc\Dispatcher y Phalcon\Cli\Dispatcher. Esta clase no puede se instanciada directamente, puedes usarla para crear tus propios despachadores.
Propiedades
//
protected activeHandler;
/**
* @var array
*/
protected activeMethodMap;
//
protected actionName;
/**
* @var string
*/
protected actionSuffix = Action;
/**
* @var array
*/
protected camelCaseMap;
/**
* @var string
*/
protected defaultAction = ;
//
protected defaultNamespace;
//
protected defaultHandler;
/**
* @var array
*/
protected handlerHashes;
//
protected handlerName;
/**
* @var string
*/
protected handlerSuffix = ;
//
protected eventsManager;
/**
* @var bool
*/
protected finished = false;
/**
* @var bool
*/
protected forwarded = false;
/**
* @var bool
*/
protected isControllerInitialize = false;
//
protected lastHandler;
//
protected modelBinder;
/**
* @var bool
*/
protected modelBinding = false;
//
protected moduleName;
//
protected namespaceName;
/**
* @var array
*/
protected params;
//
protected previousActionName;
//
protected previousHandlerName;
//
protected previousNamespaceName;
//
protected returnedValue;
Métodos
public function callActionMethod( mixed $handler, string $actionMethod, array $params = [] );
public function dispatch(): mixed | bool;
Procesa los resultados del enrutador llamando a la(s) acción(es) apropiadas del controlador incluyendo cualquier dato de enrutado o parámetros inyectados.
public function forward( array $forward ): void;
Reenvía el flujo de ejecución a otro controlador/acción.
$this->dispatcher->forward(
[
"controller" => "posts",
"action" => "index",
]
);
@throws \Phalcon\Exception
public function getActionName(): string;
Obtiene el nombre de la última acción despachada
public function getActionSuffix(): string;
Obtiene el sufijo de acción por defecto
public function getActiveMethod(): string;
Devuelve el método actual a ser ejecutado en el despachador
public function getBoundModels(): array;
Devuelve los modelos enlazados de la instancia del enlazador
class UserController extends Controller
{
public function showAction(User $user)
{
// return array with $user
$boundModels = $this->dispatcher->getBoundModels();
}
}
public function getDefaultNamespace(): string;
Devuelve el espacio de nombres por defecto
public function getEventsManager(): ManagerInterface;
Devuelve el administrador de eventos interno
public function getHandlerClass(): string;
Posible nombre de clase que será localizada para despachar la petición
public function getHandlerSuffix(): string;
Obtiene el sufijo del manejador por defecto
public function getModelBinder(): BinderInterface | null;
Obtiene el enlazador del modelo
public function getModuleName(): string;
Obtiene el módulo donde está la clase del controlador
public function getNamespaceName(): string;
Obtiene el espacio de nombres a anteponer al nombre del manejador actual
public function getParam( mixed $param, mixed $filters = null, mixed $defaultValue = null ): mixed;
Obtiene un parámetro por su nombre o índice numérico
public function getParams(): array;
Obtiene los parámetros de la acción
public function getReturnedValue(): mixed;
Devuelve el valor devuelto por la última acción despachada
public function hasParam( mixed $param ): bool;
Comprueba si un parámetro existe
public function isFinished(): bool;
Comprueba si el bucle de despacho se ha terminado o tiene más controladores/tareas pendientes de despachar
public function setActionName( string $actionName ): void;
Establece el nombre de la acción a despachar
public function setActionSuffix( string $actionSuffix ): void;
Establece el sufijo de acción por defecto
public function setDefaultAction( string $actionName ): void;
Establece el nombre de acción predeterminado
public function setDefaultNamespace( string $namespaceName ): void;
Establece el espacio de nombres por defecto
public function setEventsManager( ManagerInterface $eventsManager ): void;
Establece el administrador de eventos
public function setHandlerSuffix( string $handlerSuffix ): void;
Establece el sufijo por defecto del manejador
public function setModelBinder( BinderInterface $modelBinder, mixed $cache = null ): DispatcherInterface;
Habilita el enlazado de modelos durante el despacho
$di->set(
'dispatcher',
function() {
$dispatcher = new Dispatcher();
$dispatcher->setModelBinder(
new Binder(),
'cache'
);
return $dispatcher;
}
);
public function setModuleName( string $moduleName ): void;
Establece el módulo donde está el controlador (sólo informativo)
public function setNamespaceName( string $namespaceName ): void;
Establece el espacio de nombres donde está la clase controlador
public function setParam( mixed $param, mixed $value ): void;
Establece un parámetro por su nombre o índice numérico
public function setParams( array $params ): void;
Establece los parámetros de la acción a despachar
public function setReturnedValue( mixed $value ): void;
Establece manualmente el último valor devuelto por una acción
public function wasForwarded(): bool;
Comprueba si la acción ejecutada actual fue reenviada desde otra
protected function resolveEmptyProperties(): void;
Establece propiedades vacías a sus valores por defecto (donde existan valores por defecto disponibles)
protected function toCamelCase( string $input ): string;
Interface Phalcon\Dispatcher\DispatcherInterface
Código fuente en GitHub
Namespace |
Phalcon\Dispatcher |
Interface for Phalcon\Dispatcher\AbstractDispatcher
Métodos
public function dispatch(): mixed | bool;
Despacha una acción de manejo teniendo en cuenta los parámetros de enrutado
public function forward( array $forward ): void;
Reenvía el flujo de ejecución a otro controlador/acción
public function getActionName(): string;
Obtiene el nombre de la última acción despachada
public function getActionSuffix(): string;
Obtiene el sufijo de acción por defecto
public function getHandlerSuffix(): string;
Obtiene el sufijo del manejador por defecto
public function getParam( mixed $param, mixed $filters = null ): mixed;
Obtiene un parámetro por su nombre o índice numérico
public function getParams(): array;
Obtiene los parámetros de la acción
public function getReturnedValue(): mixed;
Devuelve el valor devuelto por la última acción despachada
public function hasParam( mixed $param ): bool;
Comprueba si un parámetro existe
public function isFinished(): bool;
Comprueba si el bucle de despacho se ha terminado o tiene más controladores/tareas pendientes de despachar
public function setActionName( string $actionName ): void;
Establece el nombre de la acción a despachar
public function setActionSuffix( string $actionSuffix ): void;
Establece el sufijo de acción por defecto
public function setDefaultAction( string $actionName ): void;
Establece el nombre de acción predeterminado
public function setDefaultNamespace( string $defaultNamespace ): void;
Establece el espacio de nombres por defecto
public function setHandlerSuffix( string $handlerSuffix ): void;
Establece el sufijo por defecto del manejador
public function setModuleName( string $moduleName ): void;
Establece el nombre del módulo al que pertenece la aplicación
public function setNamespaceName( string $namespaceName ): void;
Establece el espacio de nombres al que pertenece el controlador
public function setParam( mixed $param, mixed $value ): void;
Establece un parámetro por su nombre o índice numérico
public function setParams( array $params ): void;
Establece los parámetros de la acción a despachar
Class Phalcon\Dispatcher\Exception
Código fuente en GitHub
Namespace |
Phalcon\Dispatcher |
|
Extends |
\Phalcon\Exception |
Las excepciones lanzadas en Phalcon\Dispatcher/* usarán esta clase
Constantes
const EXCEPTION_ACTION_NOT_FOUND = 5;
const EXCEPTION_CYCLIC_ROUTING = 1;
const EXCEPTION_HANDLER_NOT_FOUND = 2;
const EXCEPTION_INVALID_HANDLER = 3;
const EXCEPTION_INVALID_PARAMS = 4;
const EXCEPTION_NO_DI = 0;