Documentación

Línea de Comandos

Contenido

  1. Introducción
  2. Sintaxis
  3. Usando rutas CLI
  4. Herramientas CLI incorporadas
    1. Activación
    2. Comando 'luthier make'
    3. Comando 'luthier migrate'

Introducción

Gracias a Luthier CI puedes aprovechar aún más las posibilidades que ofrece el framework a través de la interfaz de línea de comandos (CLI)

Sintaxis

Las rutas CLI son parecidas a las rutas HTTP y AJAX en cuanto a su sintaxis. Éstas rutas se deben definir en el archivo application/routes/cli.php

Ejemplo:

<?php
# application/routes/cli.php

// Usando funciones anónimas
Route::cli('test', function(){ // <- (nota que aquí el método es 'cli' y no 'get', 'post', etc.)
    echo 'Hello world!';
});

// Apuntando a un controlador existente
Route::cli('test2', 'foo@bar');

Las rutas CLI comparten las mismas propiedades de sus homólogas HTTP/AJAX, puedes aprender más sobre ellas aquí.

Usando 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 path/to/app/index.php [segment1] [segument2] ... [segmentN]

Así pues, teniendo esta ruta:

Route::cli('make/controller/{name}', function($name){
    echo 'Making the controller ' . $name ;
});

Se puede acceder a ella ejecutando:

$ php path/to/app/index.php make controller test

Y el resultado sería:

Making the controller test

Herramientas para CLI incorporadas

A partir de la versión 0.2.0 Luthier CI viene con varias herramientas para línea de comandos que te ayudarán con algunas tareas repetitivas.

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 motivos de seguridad, éstos comandos se desactivarán si tu aplicación está configurada con los entornos testing o production

Activación

Las herramientas CLI vienen desactivadas por defecto. Para activarlas, sólo basta con añadir un par de líneas a tu archivo de rutas:

<?php
# application/routes/cli.php

Luthier\Cli::maker();      // Comando 'luthier make'
Luthier\Cli::migrations(); // Comando 'luthier migrate'

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

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

Ejemplos:

$ php index.php luthier migrate reverse
$ php index.php luthier migrate refresh

Autor: Anderson Salas. Última modificación: 24-06-2018

El texto, las ilustraciones y los ejemplos están disponibles bajo una licencia Creative Commons CC BY 4.0 (Más información)