Cómo instalar y usar PHP Composer en Ubuntu 20.04 LTS

Redacte su proyecto PHP con facilidad permitiendo que el compositor administre todas las dependencias

Composer es una herramienta de gestión de dependencias para PHP. Se diferencia del administrador de paquetes tradicional como apto y dnf, de tal manera que no instala los paquetes y bibliotecas globalmente a nivel de todo el sistema, sino que los maneja para cada proyecto por separado. Por lo tanto, es un administrador de dependencias y no un administrador de paquetes.

Al igual que un compositor de música toma un montón de instrumentos y los organiza para que funcionen sin problemas en un concierto, Composer para PHP toma un montón de bibliotecas y marcos, los empaqueta para que funcionen juntos y crean una base sólida sobre la que se puede construir un proyecto PHP. compuesto.

Prerrequisitos

Necesita acceso a un sistema Ubuntu 20.04 con un no root sudo cuenta de usuario. Además, necesita instalar algunas dependencias para Composer, que incluye php-cli para ejecutar scripts PHP en su terminal, abrir la cremallera para ayudar a Composer a extraer los paquetes descargados y rizo para descargar el script de instalación del compositor

Para instalar todos los paquetes necesarios, actualice la lista de paquetes de Ubuntu ejecutando el comando de actualización:

actualización de sudo apt

Luego instale el php-cli, abrir la cremallera y rizo usando el siguiente comando:

sudo apt instalar php-cli descomprimir curl

Se le pedirá que confirme la instalación, presione Y luego presione enter. Una vez que haya cumplido con todos los requisitos previos, puede continuar con la instalación de Composer.

Descarga e instala Composer

Composer ofrece un ordenado script PHP para descargarlo e instalarlo en su máquina desde la línea de comandos. Necesitamos usar rizo para descargar este script, verifique su autenticidad por razones de seguridad y luego ejecútelo para instalar Composer.

Asegúrese de que su terminal esté abierta en el directorio de inicio y luego descargue el script de instalación usando rizo:

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

A continuación, debemos verificar que el script de instalación que hemos descargado sea genuino haciendo coincidir el hash SHA-384 con el que se encuentra en la página Composer Public Key / Checksums. Para hacerlo, obtenga el hash SHA-384 de la página Composer Public Key y guárdelo en una variable de shell.

Hash = `curl -sS // composer.github.io / installer.sig`

Luego verifique que haya obtenido y almacenado exitosamente el hash en la variable ejecutando:

echo $ Hash

Debería obtener una salida de una cadena aleatoria como esta desde el terminal:

Producción: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Ahora, ejecute el siguiente código PHP proporcionado por Composer para verificar la autenticidad del script de instalación:

php -r "if (hash_file ('SHA384', 'composer-setup.php') === '$ Hash') {echo 'Instalador verificado';} else {echo 'Instalador dañado'; unlink ('composer-setup .php ');} echo PHP_EOL; "
Producción: Instalador verificado

Si ve cualquier otra salida como Instalador corrupto, entonces sabrá que el script está dañado y no es seguro ejecutarlo. Descargue el script nuevamente usando curl, luego ejecute el código PHP en la terminal nuevamente para verificar el script de instalación.

Puede continuar con la instalación cuando haya verificado correctamente el instalador. Puede instalar Install the Composer de forma global o local para un solo proyecto.

Instalar Composer a nivel mundial

Para instalar Composer globalmente como un comando de todo el sistema llamado compositor, ejecute el siguiente comando:

sudo php composer-setup.php --install-dir = / usr / local / bin --filename = composer

Composer se instalará en el / usr / local / bin directorio en su sistema Ubuntu 20.04 y verá un resultado como este:

Producción: Todas las configuraciones son correctas para usar Composer Descargando ... Composer (versión 1.10.7) instalado exitosamente en: / usr / local / bin / composer Úselo: php / usr / local / bin / composer 

Verifique que Composer esté instalado correctamente y sea funcional ejecutando:

compositor
Producción: ______ / ____ / ___ ____ ___ ____ ____ ________ _____ / / / __ \ / __ `__ \ / __ \ / __ \ / ___ / _ \ / ___ / / / ___ / / _ / / / / / / / / _ / / / _ / (__) __ / / \ ____ / \ ____ / _ / / _ / / _ / .___ / \ ____ / ____ / \ ___ / _ / / _ / Composer versión 1.10.7 2020-06- 03 10:03:56 Uso: comando [opciones] [argumentos] 

Ha instalado correctamente Composer en su sistema Ubuntu 20.04. Ahora puede comenzar a usar Composer para administrar, actualizar e instalar dependencias en sus proyectos PHP inmediatamente.

Instalación de Composer localmente

Instalar Composer localmente es útil cuando no tienes permiso para instalarlo a nivel de todo el sistema o si quieres Composer para un solo proyecto. Para instalar el compositor de forma local, ejecute:

php composer-setup.php

El comando anterior creará un nuevo archivo en su directorio actual llamado composer.phar. Deberá mover este archivo a la carpeta raíz del proyecto para usar las funciones de Composer. Este archivo se puede ejecutar usando el comando que se muestra a continuación.

php composer.phar

Conceptos básicos del compositor

Ahora que tiene Composer instalado en su máquina Ubuntu 20.04, veamos algunos conceptos básicos de Composer. Composer tiene como objetivo facilitar la instalación y las actualizaciones de las dependencias y, para ello, crea muchos archivos en el directorio raíz del proyecto. Veamos la estructura de directorios de un proyecto que usa Composer para administrar las dependencias.

Estructura raíz del proyecto Composer:ProjectRoot / ├── composer.json ├── composer.lock ├── Project.php ├── composer.phar * Solo si ha instalado Composer localmente └── vendedor ├── autoload.php ├── compositor │ ├── ClassLoader.php │ ├── LICENCIA │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • El composer.json El archivo ubicado en el directorio raíz del proyecto almacena toda la información sobre las dependencias (paquetes) requeridas por el proyecto.
  • El composer.lock contiene la información sobre los paquetes cuya versión está bloqueada para el proyecto.
  • vendedor es el directorio donde se almacenan todos los paquetes, también tiene algunos scripts PHP como autoload.php, lo que facilita la inclusión automática de los paquetes en el directorio de proveedores.
  • Finalmente, si ha instalado Composer localmente, debe tener composer.phar archivo en el directorio del proyecto para instalar paquetes.

Todos estos archivos se crean cuando utiliza el compositor o php composer.phar comando para descargar e instalar paquetes para su proyecto por primera vez. Así que veamos el funcionamiento de Composer creando un proyecto de demostración.

Creación de su primer proyecto con Composer

El primer paso es crear un directorio raíz para su proyecto, así que cree uno con mkdir comando y navegue hasta él usando CD mando:

mkdir ~ / ComposerDemo cd ~ / ComposerDemo

Ahora, necesitamos encontrar e instalar los paquetes / bibliotecas necesarios para construir nuestro proyecto de demostración. Packagist es el repositorio principal de Composer que enumera todos los paquetes PHP disponibles públicamente que se pueden instalar con Composer.

En este ejemplo, usaremos un paquete PHP llamado cakephp / chronos, es una simple extensión de API para fecha y hora. Por lo tanto, para generar un nuevo proyecto de Composer e instalar el paquete Chronos, ejecute el siguiente comando:

compositor requiere cakephp / chronos
Producción: Se ha creado el uso de la versión ^ 2.0 para cakephp / chronos ./composer.json Cargando repositorios del compositor con información del paquete Actualización de dependencias (incluido require-dev) Operaciones del paquete: 1 instalación, 0 actualizaciones, 0 eliminaciones - Instalación de cakephp / chronos (2.0.5 ): Descarga (100%) Archivo de bloqueo de escritura Generación de archivos de carga automática 

El exigir La opción obtiene e instala el paquete que desea y genera los archivos y directorios como composer.json, composer.lock y vendedor en el directorio raíz del proyecto. Verás eso cakephp / chronos se agrega a la composer.json si ejecuta el siguiente comando:

cat composer.json
Producción: {"require": {"cakephp / chronos": "^ 2.0"}} 

A continuación, hagamos uso de Chronos en nuestro proyecto de demostración, abra y creemos un archivo PHP llamado demo.php utilizando nano:

nano demo.php

Luego agregue el siguiente código al demo.php, la segunda línea que incluye vendor / autoload.php es un archivo de Composer que carga automáticamente todos los paquetes y bibliotecas que están instalados para el proyecto. Guarde el archivo presionando Ctrl + O y luego salga del editor nano presionando Ctrl + X.

Ejecuta el demo.php ejecutando el siguiente comando:

php demo.php
Producción: Ahora: 2020-06-23 17:07:45

En el futuro, cuando necesite actualizar los paquetes y las bibliotecas de su proyecto, simplemente ejecute el siguiente comando:

actualización del compositor

El comando anterior buscará la versión más reciente de los paquetes instalados y los actualizará de forma segura sin romper el proyecto y sus bibliotecas interdependientes.

Hemos analizado cómo instalar Composer en una máquina Ubuntu 20.04 y hemos analizado los conceptos básicos que necesita saber sobre Composer. Ahora puede intentar construir nuevos proyectos agregando los paquetes requeridos buscando en Packagist. Si desea obtener más información sobre Composer y su opción, diríjase a la página de documentación en línea de Composer.