Class Phalcon\Cli\Console
Código fuente en GitHub
Namespace |
Phalcon\Cli |
|
Uses |
Phalcon\Application\AbstractApplication, Phalcon\Cli\Router\Route, Phalcon\Cli\Console\Exception, Phalcon\Di\DiInterface, Phalcon\Events\ManagerInterface |
|
Extends |
AbstractApplication |
Este componente permite crear aplicaciones CLI usando Phalcon
Propiedades
/**
* @var array
*/
protected arguments;
/**
* @var array
*/
protected options;
Métodos
public function handle( array $arguments = null );
Gestiona todas las tareas de línea de comandos
public function setArgument( array $arguments = null, bool $str = bool, bool $shift = bool ): Console;
Establece un argumento específico
Class Phalcon\Cli\Console\Exception
Código fuente en GitHub
Namespace |
Phalcon\Cli\Console |
|
Extends |
\Phalcon\Application\Exception |
Las excepciones lanzadas en Phalcon\Cli\Console usarán esta clase
Class Phalcon\Cli\Dispatcher
Código fuente en GitHub
Namespace |
Phalcon\Cli |
|
Uses |
Phalcon\Cli\Dispatcher\Exception, Phalcon\Dispatcher\AbstractDispatcher, Phalcon\Events\ManagerInterface, Phalcon\Filter\FilterInterface |
|
Extends |
CliDispatcher |
|
Implements |
DispatcherInterface |
El despachado es el proceso de tomar los argumentos de la línea de comando, extraer el nombre del módulo, nombre de la tarea, nombre de la acción, y opcionalmente los parámetros contenidos en ellos, y entonces instanciar una tarea y llamar una acción sobre ella.
use Phalcon\Di\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();
Propiedades
//
protected defaultHandler = main;
/**
* @var string
*/
protected defaultAction = main;
/**
* @var string
*/
protected handlerSuffix = Task;
/**
* @var array
*/
protected options;
Métodos
public function callActionMethod( mixed $handler, string $actionMethod, array $params = [] ): mixed;
Llama al método acción.
public function getActiveTask(): TaskInterface;
Devuelve la tarea activa en el despachador
public function getLastTask(): TaskInterface;
Devuelve el último controlador despachado
public function getOption( mixed $option, mixed $filters = null, mixed $defaultValue = null ): mixed;
Obtiene una opción por su nombre o índice numérico
public function getOptions(): array;
Obtiene las opciones despachadas
public function getTaskName(): string;
Obtiene el nombre de la última tarea despachada
public function getTaskSuffix(): string;
Obtiene el sufijo de la tarea predeterminada
public function hasOption( mixed $option ): bool;
Comprueba si existe una opción
public function setDefaultTask( string $taskName ): void;
Establece el nombre de la tarea predeterminada
public function setOptions( array $options ): void;
Establece las opciones a despachar
public function setTaskName( string $taskName ): void;
Establece el nombre de la tarea a despachar
public function setTaskSuffix( string $taskSuffix ): void;
Establece el sufijo de la tarea por defecto
protected function handleException( \Exception $exception );
Gestiona una excepción de usuario
protected function throwDispatchException( string $message, int $exceptionCode = int );
Lanza una excepción interna
Class Phalcon\Cli\Dispatcher\Exception
Código fuente en GitHub
Namespace |
Phalcon\Cli\Dispatcher |
|
Extends |
\Phalcon\Dispatcher\Exception |
Las excepciones lanzadas en Phalcon\Cli\Dispatcher usarán esta clase
Interface Phalcon\Cli\DispatcherInterface
Código fuente en GitHub
Namespace |
Phalcon\Cli |
|
Uses |
Phalcon\Dispatcher\DispatcherInterface |
|
Extends |
DispatcherInterfaceBase |
Interfaz para Phalcon\Cli\Dispatcher
Métodos
public function getActiveTask(): TaskInterface;
Devuelve la tarea activa en el despachador
public function getLastTask(): TaskInterface;
Devuelve el último controlador despachado
public function getOptions(): array;
Obtiene las opciones despachadas
public function getTaskName(): string;
Obtiene el nombre de la última tarea despachada
public function getTaskSuffix(): string;
Obtiene el sufijo de la tarea por defecto
public function setDefaultTask( string $taskName ): void;
Establece el nombre de la tarea predeterminada
public function setOptions( array $options ): void;
Establece las opciones a despachar
public function setTaskName( string $taskName ): void;
Establece el nombre de la tarea a despachar
public function setTaskSuffix( string $taskSuffix ): void;
Establece el sufijo de la tarea por defecto
Class Phalcon\Cli\Router
Código fuente en GitHub
Namespace |
Phalcon\Cli |
|
Uses |
Phalcon\Di\DiInterface, Phalcon\Di\AbstractInjectionAware, Phalcon\Cli\Router\Route, Phalcon\Cli\Router\Exception, Phalcon\Cli\Router\RouteInterface |
|
Extends |
AbstractInjectionAware |
Phalcon\Cli\Router es el enrutador de framework estándar. Enrutamiento es el proceso de tomar los argumentos de la línea de comandos y descomponerlos en parámetros para determinar qué módulo, tarea, y acción de esa tarea debería recibir la petición.
$router = new \Phalcon\Cli\Router();
$router->handle(
[
"module" => "main",
"task" => "videos",
"action" => "process",
]
);
echo $router->getTaskName();
Propiedades
/**
* @var string|null
*/
protected action;
/**
* @var string|null
*/
protected defaultAction;
/**
* @var string
*/
protected defaultModule = "";
/**
* @var array
*/
protected defaultParams;
/**
* @var string|null
*/
protected defaultTask;
/**
* @var RouteInterface|null
*/
protected matchedRoute;
/**
* @var array
*/
protected matches;
/**
* @var string
*/
protected module = "";
/**
* @var array
*/
protected params;
/**
* @var array
*/
protected routes;
/**
* @var string|null
*/
protected task;
/**
* @var bool
*/
protected wasMatched = false;
Métodos
public function __construct( bool $defaultRoutes = bool );
Constructor Phalcon\Cli\Router
public function add( string $pattern, mixed $paths = null ): RouteInterface;
Añade una ruta al enrutador
$router->add("/about", "About::main");
public function getActionName(): string;
Devuelve el nombre de la acción procesada
public function getMatchedRoute(): RouteInterface | null;
Devuelve la ruta que coincide con el URI gestionado
public function getMatches(): array;
Devuelve las sub expresiones en la expresión regular combinada
public function getModuleName(): string;
Devuelve el nombre del módulo procesado
public function getParameters(): array;
Devuelve los parámetros extra procesados
public function getParams(): array;
Devuelve los parámetros extra procesados
@todo deprecate this in future versions
public function getRouteById( mixed $id ): RouteInterface | bool;
Devuelve un objeto de ruta por su identidad
public function getRouteByName( string $name ): RouteInterface | bool;
Devuelve un objeto de ruta por su nombre
public function getRoutes(): Route[];
Devuelve todas las rutas definidas en el enrutador
public function getTaskName(): string;
Devuelve el nombre de la tarea procesada
public function handle( mixed $arguments = null );
Gestiona la información de enrutamiento recibida desde los argumentos de la línea de comandos
public function setDefaultAction( string $actionName );
Establece el nombre de acción predeterminado
public function setDefaultModule( string $moduleName );
Establece el nombre del módulo predeterminado
public function setDefaultTask( string $taskName ): void;
Establece el nombre predeterminado del controlador
public function setDefaults( array $defaults ): Router;
Establece un vector de rutas por defecto. Si a una ruta le falta el camino el enrutador usará el definido aquí. No se debe usar este método para establecer una ruta 404
$router->setDefaults(
[
"module" => "common",
"action" => "index",
]
);
public function wasMatched(): bool;
Comprueba si el enrutador coincide con alguna de las rutas definidas
Class Phalcon\Cli\Router\Exception
Código fuente en GitHub
Namespace |
Phalcon\Cli\Router |
|
Extends |
\Exception |
Las excepciones lanzadas en Phalcon\Cli\Router usarán esta clase
Class Phalcon\Cli\Router\Route
Código fuente en GitHub
Namespace |
Phalcon\Cli\Router |
|
Implements |
RouteInterface |
Esta clase representa cada ruta agregada al enrutador
Constantes
const DEFAULT_DELIMITER = ;
Propiedades
/**
* @var mixed|null
*/
protected beforeMatch;
/**
* @var string|null
*/
protected compiledPattern;
/**
* @var array
*/
protected converters;
/**
* @var string
*/
protected delimiter;
/**
* @var string
*/
protected static delimiterPath;
/**
* @var string|null
*/
protected description;
/**
* @var string
*/
protected routeId;
/**
* @var string
*/
protected name;
/**
* @var array
*/
protected paths;
/**
* @var string
*/
protected pattern;
/**
* @var int|string
*/
protected static uniqueId = 0;
Métodos
public function __construct( string $pattern, mixed $paths = null );
public function beforeMatch( mixed $callback ): RouteInterface;
Establece una llamada de retorno que se llama si la ruta coincide. El desarrollador puede implementar cualquier condición arbitraria aquí. Si la función de retorno devuelve false
la ruta será tratada como no coincidente
public function compilePattern( string $pattern ): string;
Sustituye los marcadores de posición del patrón devolviendo una expresión regular PCRE válida
public function convert( string $name, mixed $converter ): RouteInterface;
Añade un convertidor para ejecutar una transformación adicional para un parámetro determinado
public static function delimiter( string $delimiter = null ): void;
Establece el delimitador de enrutamiento
public function extractNamedParams( string $pattern ): array | bool;
Extrae parámetros de una cadena
public function getBeforeMatch(): mixed;
Devuelve la función de retorno ‘before match’ si la hay
public function getCompiledPattern(): string;
Devuelve el patrón compilado de la ruta
public function getConverters(): array;
Devuelve el convertidor del router
public static function getDelimiter(): string;
Obtiene el delimitador de enrutamiento
public function getDescription(): string;
Devuelve la descripción de la ruta
public function getName(): string;
Devuelve el nombre de la ruta
public function getPaths(): array;
Devuelve las rutas
public function getPattern(): string;
Devuelve el patrón de la ruta
public function getReversedPaths(): array;
Devuelve las rutas usando posiciones como claves y nombres como valores
public function getRouteId(): string;
Devuelve la identidad de la ruta
public function reConfigure( string $pattern, mixed $paths = null ): void;
Reconfigura la ruta agregando un nuevo patrón y un conjunto de rutas
public static function reset(): void;
Restablece el generador de identificador de ruta interno
public function setDescription( string $description ): RouteInterface;
Establece la descripción de la ruta
public function setName( string $name ): RouteInterface;
Establece el nombre de la ruta
$router->add(
"/about",
[
"controller" => "about",
]
)->setName("about");
Interface Phalcon\Cli\Router\RouteInterface
Código fuente en GitHub
Namespace |
Phalcon\Cli\Router |
Interfaz para Phalcon\Cli\Router\Route
Métodos
public function compilePattern( string $pattern ): string;
Sustituye los marcadores de posición del patrón devolviendo una expresión regular PCRE válida
public static function delimiter( string $delimiter = null );
Establece el delimitador de enrutamiento
public function getCompiledPattern(): string;
Devuelve el patrón de la ruta
public static function getDelimiter(): string;
Obtiene el delimitador de enrutamiento
public function getDescription(): string;
Devuelve la descripción de la ruta
public function getName(): string;
Devuelve el nombre de la ruta
public function getPaths(): array;
Devuelve las rutas
public function getPattern(): string;
Devuelve el patrón de la ruta
public function getReversedPaths(): array;
Devuelve las rutas usando posiciones como claves y nombres como valores
public function getRouteId(): string;
Devuelve la identidad de la ruta
public function reConfigure( string $pattern, mixed $paths = null ): void;
Reconfigura la ruta agregando un nuevo patrón y un conjunto de rutas
public static function reset(): void;
Restablece el generador de identificador de ruta interno
public function setDescription( string $description ): RouteInterface;
Establece la descripción de la ruta
public function setName( string $name ): RouteInterface;
Establece el nombre de la ruta
Interface Phalcon\Cli\RouterInterface
Código fuente en GitHub
Namespace |
Phalcon\Cli |
|
Uses |
Phalcon\Cli\Router\RouteInterface |
Interfaz para Phalcon\Cli\Router
Métodos
public function add( string $pattern, mixed $paths = null ): RouteInterface;
Añade una ruta al enrutador en cualquier método HTTP
public function getActionName(): string;
Devuelve el nombre de la acción procesada
public function getMatchedRoute(): RouteInterface | null;
Devuelve la ruta que coincide con el URI gestionado
public function getMatches(): array;
Devuelve las subexpresiones coincidentes en la expresión regular
public function getModuleName(): string;
Devuelve el nombre del módulo procesado
public function getParameters(): array;
Devuelve los parámetros extra procesados
public function getParams(): array;
Returns processed extra params @todo deprecate this in the future
public function getRouteById( mixed $id ): RouteInterface;
Devuelve un objeto de ruta por su identidad
public function getRouteByName( string $name ): RouteInterface;
Devuelve un objeto de ruta por su nombre
public function getRoutes(): RouteInterface[];
Devuelve todas las rutas definidas en el enrutador
public function getTaskName(): string;
Devuelve el nombre de la tarea procesada
public function handle( mixed $arguments = null );
Gestiona la información de enrutamiento recibida del motor de reescritura
public function setDefaultAction( string $actionName ): void;
Establece el nombre de acción predeterminado
public function setDefaultModule( string $moduleName ): void;
Establece el nombre del módulo predeterminado
public function setDefaultTask( string $taskName ): void;
Establece el nombre de la tarea predeterminada
public function setDefaults( array $defaults ): void;
Establece un vector de rutas por defecto
public function wasMatched(): bool;
Comprueba si el enrutador coincide con alguna de las rutas definidas
Class Phalcon\Cli\Task
Código fuente en GitHub
Namespace |
Phalcon\Cli |
|
Uses |
Phalcon\Di\Injectable, Phalcon\Events\EventsAwareInterface, Phalcon\Events\ManagerInterface |
|
Extends |
Injectable |
|
Implements |
TaskInterface, EventsAwareInterface |
Cada tarea de la línea de comandos debería extender esta clase que encapsula toda la funcionalidad de la tarea
Una tarea se puede usar para ejecutar “tareas” como migraciones, tareas programadas, tests unitarios, o cualquier otra cosa que se quiera. La clase Tarea debería tener al menos un método “mainAction”.
class HelloTask extends \Phalcon\Cli\Task
{
// This action will be executed by default
public function mainAction()
{
}
public function findAction()
{
}
}
Propiedades
/**
* @var ManagerInterface
*/
protected eventsManager;
Métodos
final public function __construct();
Constructor Phalcon\Cli\Task
public function getEventsManager(): ManagerInterface | null;
Devuelve el administrador de eventos interno
public function setEventsManager( ManagerInterface $eventsManager ): void;
Establece el administrador de eventos
Interface Phalcon\Cli\TaskInterface
Código fuente en GitHub
Interfaz para los manejadores de tareas