Secciones

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 ser instanciada directamente, puedes usarla para crear tus propios despachadores.

Propiedades

/**
 * @var object|null
 */
protected activeHandler;

/**
 * @var array
 */
protected activeMethodMap;

/**
 * @var string|null
 */
protected actionName;

/**
 * @var string
 */
protected actionSuffix = Action;

/**
 * @var array
 */
protected camelCaseMap;

/**
 * @var string
 */
protected defaultAction = ;

/**
 * @var string|null
 */
protected defaultNamespace;

/**
 * @var string|null
 */
protected defaultHandler;

/**
 * @var array
 */
protected handlerHashes;

/**
 * @var string|null
 */
protected handlerName;

/**
 * @var string
 */
protected handlerSuffix = ;

/**
 * @var ManagerInterface|null
 */
protected eventsManager;

/**
 * @var bool
 */
protected finished = false;

/**
 * @var bool
 */
protected forwarded = false;

/**
 * @var bool
 */
protected isControllerInitialize = false;

/**
 * @var mixed|null
 */
protected lastHandler;

/**
 * @var BinderInterface|null
 */
protected modelBinder;

/**
 * @var bool
 */
protected modelBinding = false;

/**
 * @var string|null
 */
protected moduleName;

/**
 * @var string|null
 */
protected namespaceName;

/**
 * @var array
 */
protected params;

/**
 * @var string|null
 */
protected previousActionName;

/**
 * @var string|null
 */
protected previousHandlerName;

/**
 * @var string|null
 */
protected previousNamespaceName;

/**
 * @var string|null
 */
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 PhalconException

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 | null;

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 | null;

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 getParameter( mixed $param, mixed $filters = null, mixed $defaultValue = null ): mixed;

Obtiene un parámetro por su nombre o índice numérico

public function getParameters(): array;

Obtiene los parámetros de la acción

public function getParams(): array;

Obtiene los parámetros de la acción

@todo remove this in future versions

public function getReturnedValue(): mixed;

Devuelve el valor devuelto por la última acción despachada

public function hasParam( mixed $param ): bool;

Check if a param exists @todo deprecate this in the future

public function hasParameter( 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 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 = null ): 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;

Set a param by its name or numeric index @todo deprecate this in the future

public function setParameter( mixed $param, mixed $value ): void;

Establece un parámetro por su nombre o índice numérico

public function setParameters( array $params ): void;

Establece los parámetros de la acción a despachar

public function setParams( array $params ): void;

Sets action params to be dispatched @todo deprecate this in the future

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 getParameter( mixed $param, mixed $filters = null ): mixed;

Obtiene un parámetro por su nombre o índice numérico

public function getParameters(): array;

Obtiene los parámetros de la acción

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 = null ): 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 \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;