Composer, instala este administrador de dependencias de PHP en Ubuntu 18.04

about composer

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:

Instalar Php para Composer

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.

Descargar instalador para Composer

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:

instalación verificada de Composer

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:

Instalación composer user/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:

verificar instalación de Composer

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:

Descargar carbon Composer

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.

listado directorio proyecto carbon composer

  1. El directorio vendor es el directorio donde se almacenan las dependencias del proyecto.
  2. El archivo composer.lock contiene una lista de todos los paquetes instalados. Incluidas las versiones exactas de los paquetes.
  3. 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:

Contenido del archivo de prueba con composer

<?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í:

resultado archivo de prueba con composer

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.


Un comentario, deja el tuyo

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Javier Gonzalez dijo

    COMPOSER?
    jajajajajajajaja
    El puto amo!!!!!