Tutorial de Composer: Como reutilizar el código de otros.



Cuando estamos programando una aplicación siempre necesitamos agregar alguna funcionalidad que alguien más ya desarrolló, por ejemplo, enviar correos, utilizar un sistema de plantillas, agregar un log de acciones, etc.

Hace muchos años lo que hacías era buscar una librería que haga el trabajo, descargarla, leer la documentación para instalarla/agregarla en tu aplicación y luego descubres que para usar esa librería necesitas instalar otra librería adicional (todo era más complicado). ¡Ahora que usamos Composer todo es más fácil!

Instalar composer

Para instalar Composer puedes ir directo a su página web haciendo clic aquí, si tu sistema operativo es Windows, ahí encontrarás un enlace para descargar el instalador, pero si tienes Linux o Mac, deberás ejecutar los comandos que están en esa misma página web, que son estos:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Para comprobar si lo has instalado correctamente, puedes abrir una ventana de comandos y ejecutar este comando:

composer -V

Y verás la versión que tienes de composer.

Cómo encontrar paquetes de PHP e instalarlos con Composer

La mejor forma de encontrar paquetes para PHP es en este directorio packagist.org, ahí encontrarás cientos de librerías, listas para usar en tus proyectos y fáciles de instalar gracias a Composer.

Ahora solo ingresas el término que deseas, por ejemplo, email (si deseas enviar emails) y en la lista de resultados haces clic sobre el paquete que crees que pueda servirte.

Buscar paquetes para php y composer

Ahora verás una pantalla como esta, en donde se muestra el comando de composer que debes usar en tu aplicación para instalar el paquete. Ahora vamos a ver cómo usar estos comandos.

Instrucciones instalar paquetes con composer

Como usar Composer en tu aplicación

Ahora vamos a ver un ejemplo práctico, ya sabemos que es composer, y como encontrar paquetes. Para este ejemplo imagina que te han pedido que tu aplicación genere códigos de tipo QR-Code, entonces ya lo sabes, vas directo a packagist y buscas “qr-code”.

En mi caso voy a utilizar endroid/qr-code y voy a partir de un proyecto vacío, tengo una carpeta llamada composer (puede ser cualquier nombre), entonces abro una ventana de comandos y navego hasta la carpeta de mi proyecto y escribo este comando

composer init

Esto va a iniciar un asistente para que mi proyecto trabaje usando composer, el asistente va a guiarme por una serie de pasos, si no estoy seguro de algo, solo presiono la tecla Enter y acepto los valores predeterminados.

Composer - ejemplo

Ahora vamos a instalar la librería para generar códigos de tipo Qr-code, si buscaste el paquete, sabes que debes ejecutar este comando en la carpeta de tu proyecto:

composer require endroid/qr-code

Ahora abro la carpeta de mi proyecto en mi editor de textos favorito, que en mi caso es Atom, y creo un archivo de PHP, con este contenido

<?php
require __DIR__ . '/vendor/autoload.php';
use Endroid\QrCode\QrCode;
$qrCode = new QrCode('Me encanta codigonaranja.com');
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();
?>

Y ahora solo ejecutas tu aplicación y verás algo como esto

QR-code en php y composer

¿Lo ves?, todo fue muy fácil gracias a composer, en el archivo de PHP que creaste, lo más importante es la línea

require __DIR__ . '/vendor/autoload.php';

Esta le dice a tu aplicación que cargue la configuración que composer ha creado para que tu aplicación cargue todas las librerías necesarias. El resto del archivo es el código necesario para crear y mostrar el qr-code, eso lo saque de la documentación, que por cierto también está en la página de packagist https://packagist.org/packages/endroid/qr-code, solo entra en ese enlace y baja un poco para ver la documentación o un enlace a la documentación

Como eliminar un paquete o dependencia usando composer

Si has probado algún paquete o librería en tu proyecto y luego descubres que no era lo que pensabas o necesitabas, entonces debes eliminarlo para no hacer que tu código contenga librerías que no necesitas. Puedes hacer esto ejecutando este comando:

composer remove vendor/package

Solo debes de cambiar vendor/package por el paquete o librería, por ejemplo, endroid/qr-code

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *