Ejecutar CodeIgniter desde terminal
Seguimos con los artículos y tutoriales de CodeIgniter 4.X. En esta ocasión veremos cómo ejecutar órdenes de CodeIgniter desde un terminal del servidor.
Artículo añadido a nuestro listado de Tutoriales CodeIgniter 4 en español.
CodeIgniter funcionamiento normal
Supongamos que tenemos nuestra aplicación en https://miaplicacion.com
Lo normal es que creemos un controlador en nuestra aplicación. Pongamos el ejemplo:
https://miaplicacion.com/app/Controllers/Productos.php
Este controlador, dentro del código tendrá la función en cuestión. Sigamos con el ejemplo:
<?php namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\ProductosModel;
/**
* Class Productos
* @package CodeIgniter
*/
class Productos extends BaseController
{
public function __construct()
{
...
}
public function listar()
{
...
}
}
Y cuando lo queremos ejecutar desde el navegador, sólo tenemos que poner en la barra de direcciones:
https://miaplicacion.com/productos/listar
De esa manera, se ejecutará la función listar del controlador productos.
Pero vamos ahora a la cuestión. Y si quiero ejecutarlo desde la linea de comandos de un terminal, y no desde el navegador?
Ejecutar CodeIgniter desde consola
Lo haremos ejecutando php, y le passamos el fichero index.php con el controlador y la función pública:
$ cd /carpeta/a/nuestro/proyecto/public
$ php index.php productos listar
Qué pasaria si la función debe recibidr parámetros?
$ cd /carpeta/a/nuestro/proyecto/public
$ php index.php productos listar "ascendente"
Pues que lo ponemos al final entre comillas dobles.
Espero que os sea de utilidad y podáis ejecutar controladores de CodeIgniter desde el terminal.
Hay cosas que damos por hechas, y podría ser que en vuestro servidor no lo fueran. Por ejemplo, la llamada a php desde cualquier carpeta, tener todos los permisos correctos en las carpetas, que tenéis mod_rewirte activo y se puede consultar desde url amigables…
Más información