Composer, instala este administrador de dependencias de PHP en Ubuntu 18.04
En el siguiente artículo vamos a echar un vistazo a Composer. Este es un administrador de dependencias para PHP. Instalará todos los paquetes PHP necesarios de los que dependan nuestros proyectos y los gestionará por nosotros.
Este programa viene siendo es un gestor de paquetes a nivel de aplicación para el lenguaje de programación PHP que proporciona un formato estándar para gestionar las dependencias del software PHP y las bibliotecas requeridas. Aunque este tutorial está escrito para Ubuntu 18.04, se pueden usar los mismos pasos para Ubuntu 16.04.
Antes de seguir los pasos que aquí se van a mostrar, asegúrate de tener PHP instalado en tu sistema Ubuntu 18.04. Si no lo tienes instalado abre una terminal (Ctrl+Alt+T) y escribe:
sudo apt install php libapache2-mod-php php-mysql
Instalar Composer
Antes de descargar e instalar este administrador de dependencias, primero tenemos que instalar el paquete PHP-CLI, que está disponible en los repositorios de Ubuntu. En la terminal (Ctrl+Alt+T) escribimos:
sudo apt install php-cli
Ahora que tenemos instalado php-cli en nuestra máquina, podemos descargar el instalador necesario con:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
El comando anterior descargará el archivo composer-setup.php al directorio de trabajo actual.
A continuación, debemos verificar la integridad de los datos del script comparando el guión del hash SHA-384 con el último hash del instalador. Este lo encontraremos en la página Composer Public Keys / Signatures.
Usaremos el siguiente comando wget para descargar la firma esperada del último instalador desde su página de Github y almacenarla en una variable llamada HASH:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Ahora ejecuta el siguiente comando para verificar que el script de instalación no esté dañado:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Si los valores hash coinciden, verás el siguiente resultado:
Si los valores hash no coinciden, verás algo como “Installer corrupt”. Una vez que se haya verificado el instalador, podremos continuar con el siguiente paso.
El siguiente comando instalará Composer en el directorio /usr/local/bin:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Se instalará como un comando de todo el sistema y estará disponible para todos los usuarios.
El último paso es verificar la instalación:
composer
El comando de arriba imprimirá la versión, los comandos y los argumentos disponibles.
Si quieres tener una instalación Composer por proyecto, utiliza el siguiente comando:
php composer-setup.php
Este creará un archivo llamado composer.phar en tu directorio de trabajo actual. Puede usarlo ejecutando:
./composer.phar comando
Empezando con Composer
Terminada la instalación en tu sistema Ubuntu, vamos a echar un vistazo básico a su uso en un proyecto PHP.
El primer paso es crear un directorio que será el directorio raíz del proyecto y iniciar un archivo composer.json. Este archivo describe nuestro proyecto PHP, incluidas las dependencias de PHP y otros metadatos.
mkdir ~/mi-primer-proyecto-con-composer cd ~/mi-primer-proyecto-con-composer
El siguiente paso es iniciar un nuevo composer.json utilizando el “composer require nombre-del-paquete”, especificando el paquete que queremos descargar.
En este ejemplo, crearemos una aplicación de muestra que imprimirá la hora y la fecha actual usando un paquete llamado carbon.
Ejecuta el siguiente comando para iniciar un nuevo composer.json e instalar el paquete carbon:
composer require nesbot/carbon
Directorio de nuestro proyecto
Si echamos un vistazo a la lista de directorios de nuestro proyecto, veremos que contiene dos archivos composer.json y composer.lock, y un directorio llamado vendor.
- El directorio vendor es el directorio donde se almacenan las dependencias del proyecto.
- El archivo composer.lock contiene una lista de todos los paquetes instalados. Incluidas las versiones exactas de los paquetes.
- Composer.json describe el proyecto de PHP y todas las dependencias de PHP.
Se puede buscar en el repositorio de Composer Packagist paquetes PHP para utilizar.
Archivo de prueba
Composer proporciona capacidades de autocarga que nos permiten usar clases PHP sin la necesidad de usar require o include en los archivos.
Crea un archivo llamado prueba.php y agrega el siguiente código:
<?php require __DIR__ . '/vendor/autoload.php'; use Carbon\Carbon; printf("Fecha y hora del sistema: %s", Carbon::now());
Guardado el archivo, ejecutaremos el script escribiendo:
php prueba.php
El resultado debería verse más o menos así:
Actualizar tus paquetes PHP
Llegado el caso, si quieres actualizar tus paquetes PHP, puedes ejecutar:
composer update
El comando buscará versiones más recientes de los paquetes instalados y si se encuentra una versión más nueva se actualizará el paquete, si es posible.
Para obtener más información visita la página oficial de la documentación de Composer.
El artículo Composer, instala este administrador de dependencias de PHP en Ubuntu 18.04 ha sido originalmente publicado en Ubunlog.