Línea de Comandos
Un uso interesante de las rutas de CodeIgniter el que se le da desde la línea de comandos. Siguiendo la misma fórmula de las rutas HTTP, con Luthier CI es posible definir comandos usando una nueva sintaxis.
Índice
Sintaxis
Las rutas CLI deben definirse en application/routes/cli.php
.
Por ejemplo:
<?php
# application/routes/cli.php
// Usando funciones anónimas
Route::cli('test', function(){
echo 'Hello world!';
});
// Apuntando a un controlador existente
Route::cli('test2', 'foo@bar');
Accediendo a las rutas CLI
Para acceder a las rutas CLI debes llamar al intérprete de PHP desde la línea de comandos en el archivo index.php
de la carpeta raíz de tu aplicación, separando con espacios cada segmento de la ruta deseada, por ejemplo:
$ php index.php [segment1] [segument2] ... [segmentN]
Por ejemplo, la ruta:
Route::cli('greet/{name}', function($name){
echo 'Hello ' . $name ;
});
Es accedida mediante el comando:
$ php index.php make greet anderson
Y el resultado sería:
Hello anderson
Herramientas para CLI incorporadas
A partir de la versión 0.2.0 Luthier CI viene con varias herramientas para la interfaz de línea de comandos que automatizan algunas tareas de CodeIgniter tales como la creacion de controladores, helpers y migraciones.
Asegúrate de que la carpeta
application
tenga permisos de escritura para que estos comandos funcionen correctamente
Por seguridad éstos comandos se desactivarán cuando el entorno activo de tu aplicación sea testing o production
Activación
Para activar las herramientas CLI de Luthier CI, añade lo siguiente a tu archivo de rutas CLI:
<?php
# application/routes/cli.php
Luthier\Cli::maker(); // Comando 'luthier make'
Luthier\Cli::migrations(); // Comando 'luthier migrate'
Comando "luthier make"
El comando luthier make permite generar una amplia variedad de archivos del framework.
Sintaxis:
$ php index.php luthier make [resource] [name] [type?(sequenatial|date)=date]
Donde:
resource
es el tipo de recurso (controller
,model
,helper
,library
,middleware
omigration
)name
es el nombre del recurso, ytype
(en caso de crear una migración) es el tipo de migración a generar.
Ejemplos:
// Creando un controlador:
$ php index.php luthier make controller ControllerName
// Creando un modelo:
$ php index.php luthier make model ModelName
// Creando una librería:
$ php index.php luthier make library LibraryName
// Creando un helper:
$ php index.php luthier make helper HelperName
// Creando un middleware:
$ php index.php luthier make middleware MiddlewareName
// Creando una migración (por defecto, las migraciones son creadas por fecha)
$ php index.php luthier make migration create_users_table
$ php index.php luthier make migration create_users_table date
$ php index.php luthier make migration create_users_table sequential
Comando "luthier migrate"
El comando luthier migrate corre (o revierte) una migración.
Sintaxis:
$ php index.php luthier migrate [version?=latest]
Donde version
es la versión de la migración a correr. Si se omite, se procederá a migrar a la última versión disponible.
Tambien es posible utilizar uno de estos comandos especiales como version
:
reverse
: revierte TODAS las migracionesrefresh
: revierte TODAS las migraciones y luego procede a migrar a la última versión disponible
Ejemplo:
$ php index.php luthier migrate reverse
$ php index.php luthier migrate refresh