PlatesPHP: Sistema de plantillas para Codeigniter 3
PlatesPHP: Sistema de plantillas para Codeigniter 3
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!

En este tutorial vamos a ver cómo trabajar con Codeigniter 3 y Composer, veremos cómo decirle a Codeigniter que haga la autocarga de clases, cómo crear un sencillo paquete y subirlo a github.

Veremos cómo hacer la autocarga de clases utilizando psr-4, de esta forma podremos asignar a un espacio de nombres nuestras clases.

Lo primero que podemos hacer es crear un nuevo repositorio en nuestra cuenta de github llamado hello-codeigniter y lo inicializamos.

Una vez hecho lo podemos clonar con el comando git clone una vez situados en nuestro directorio.


Llegados a este punto ya tenemos nuestro proyecto clonado en local y podemos aplicar toda la lógica que necesitemos, pero antes debemos crear nuestro archivo composer.json, crea el archivo y haz que se parezca al siguiente, pero con el nombre de tu repo, email etcétera.


El archivo composer.json es necesario para que este package sea descargable por el resto de usuarios, composer es el gestor de dependencias de php que se utiliza a día de hoy.

Ahora que ya tenemos nuestro proyecto y hemos creado el composer.json vamos a crear la estructura standard para cualquier package, que viene siendo un directorio src y un directorio tests, src es donde se guarda toda la lógica del package, y tests es para los tests unitarios.

Así que creamos el directorio src/helloci/Hello.php, una vez hecho, abrimos el archivo hello.php y añadimos el siguiente código.


Simplemente obtenemos la instancia de ci pero con la posibilidad de no crear una variable extra, es decir, de esta forma podemos hacer uso de $this en librerías y dependencias fuera del entorno de codeigniter.

Ahora que ya tenemos definido nuestro package, podemos subirlo al repositorio, para ello, nos ponemos en la terminal y escribimos lo siguiente.


Añadimos todos los archivos, escribimos el mensaje y subimos a la rama master, nos pedirá las credenciales de nuestra cuenta de github, las escribimos y ya tendremos nuestro proyecto en el repositorio.

Utilizando nuestro package

Ahora es momento de ver cómo podemos utilizar nuestro package, lo primero que vamos a hacer es crear nuestro proyecto con codeigniter 3, una vez hecho debemos abrir el archivo application/config/config.php y modificar la línea que setea el autoload por lo siguiente.


Ahora podemos abrir el archivo de la raíz composer.json para que tenga el siguiente aspecto.


Ahora simplemente debemos instalar las dependencias ejecutando el siguiente comando en la terminal.


Esto habrá generado el archivo composer.lock y nuestro package dentro de dicho archivo tendrá la siguiente apariencia.


Ahora ya tenemos todo hecho, simplemente debemos crear un sencillo controlador llamado por ejemplo Home.php y añadir el siguiente código.


Si nos dirigimos a la ruta home/index podremos ver, en mi caso, Iparra, simplemente hemos utilizado el espacio de nombres HelloCI para no tener que escribir todo el rato ese trozo, de esta forma, en lugar de hacer new HelloCI\Hello(), podemos hacer new Hello().

Desde mi punto de vista, esta es la forma compleja de hacer las cosas, la sencilla, y que nos evita tener que crear la zona repositories en nuestro composer.json es subir el package por ejemplo a packagist, de esta forma, una vez añadamos nuestro package a la clave require éste será instalado en nuestro proyecto.

Espero que te haya gustado y te sea útil tanto para desarrollar tus propios packages cómo para instalarlos sin ningún tipo de problema.