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.

Contenido

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.

Permisos de escritura
Asegúrate de que la carpeta application tenga permisos de escritura para que estos comandos funcionen correctamente
Sólo disponibles para desarrollo
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 o migration)
  • name es el nombre del recurso, y
  • type (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 migraciones
  • refresh: 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