Composer es un administrador de dependencias para PHP (como npm para Node.js o pip para Python).

Composer extraerá todos los paquetes PHP requeridos de los que depende su proyecto y los administrará por usted. Se utiliza en todos los marcos y plataformas PHP modernos, como Laravel, Symfony, Drupal y Magento 2.

Este tutorial repasa los pasos para instalar Composer en CentOS 8. Si tiene prisa y no desea verificar la integridad del archivo, desplácese hacia abajo hasta la sección Instalación de Composer: forma rápida .

requisitos previos

Asegúrese de haber cumplido con los siguientes requisitos antes de continuar:

  • Inicie sesión como usuario con privilegios sudo
  • Tenga PHP instalado en su sistema CentOS 8 .

Instalación de Composer en CentOS

Realice los siguientes pasos para instalar Composer en CentOS 8.

  1. Instale el paquete PHP CLI (interfaz de línea de comandos) y todas las demás dependencias con:

    sudo dnf install php-cli php-json php-zip wget unzip
  2. Una vez que PHP CLI esté instalado, descargue el script de instalación de Composer:

    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

    El comando anterior descarga un archivo cuyo nombre se encuentra composer-setup.phpen el directorio de trabajo actual .

  3. Verifique la integridad de los datos comparando el hash del archivo SHA-384con el hash que se encuentra en la página de firmas/claves públicas de Composer .

    El siguiente wget comando descarga la firma del último instalador de Composer desde la página Github de Composer y la almacena en una variable llamada HASH:

    HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

    Para verificar que el script de instalación no esté dañado, ejecute el siguiente comando:

    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 hashes coinciden, se mostrará el siguiente mensaje:

    Installer verified

    De lo contrario, si los valores hash no coinciden, verá Installer corruptUna vez que se verifique la integridad, continúe con el siguiente paso.

  4. Ejecute el siguiente comando para instalar Composer en el /usr/local/bindirectorio:

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

    El comando anterior se instala composercomo un comando para todo el sistema y está disponible para todos los usuarios. La salida se verá algo como esto

    All settings correct for using Composer
    Downloading...
    
    Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer

    El comando anterior se instala composercomo un comando para todo el sistema y está disponible para todos los usuarios.

  5. Verifique la instalación imprimiendo la versión de Composer:

    composer -V
    Composer version 1.10.1 2020-03-13 20:34:27

En este punto, ha instalado Composer con éxito en su sistema CentOS y puede comenzar a usarlo.

Instalación de Composer [Forma rápida]

Realice los siguientes pasos para instalar rápidamente Composer en su sistema CentOS 8:

  1. Instale PHP CLI y Zip:

    sudo dnf install php-cli php-json php-zip curl unzip
  2. Descargar Composer con curl:

    curl -sS https://getcomposer.org/installer |php
  3. Mueva el archivo Composer al /usr/local/bindirectorio:

    sudo mv composer.phar /usr/local/bin/composer

Introducción a Composer

Ahora que Composer está instalado en su sistema CentOS, le mostraremos cómo usar Composer en un proyecto PHP.

Comience creando el directorio raíz del proyecto y navegue hasta él :

mkdir ~/my-first-composer-projectcd ~/my-first-composer-project

En este ejemplo, usaremos un paquete PHP llamado carbon para crear una aplicación de muestra que imprima la hora actual.

Ejecute el siguiente comando para inicializar un nuevo proyecto de Composer e instalar el paquete carbon:

composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
  - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)         
  - Installing symfony/translation (v5.0.6): Downloading (100%)         
  - Installing nesbot/carbon (2.32.1): Downloading (100%)         
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Como puede ver en el resultado anterior, Composer crea un archivo llamado composer.jsony descarga carbon y todas sus dependencias.

Si enumera el directorio de su proyecto , verá que contiene dos archivos composer.jsoncomposer.lockun vendordirectorio.

ls -l
-rw-rw-r--. 1 vagrant vagrant    60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant    82 Mar 27 18:06 vendor
  • vendores el directorio donde se almacenan las dependencias del proyecto.
  • El composer.lockarchivo contiene una lista de todos los paquetes instalados, incluidas sus versiones.
  • composer.jsones un archivo que describe su proyecto PHP, incluidas las dependencias de PHP y otros metadatos.
Puede buscar paquetes PHP en el repositorio de Composer Packagist .

Composer tiene capacidades de carga automática, que le permiten usar clases de PHP sin necesidad de las declaraciones requireinclude.

Cree un archivo llamado testing.phpy agregue el siguiente código:

<?php

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

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

Analicemos el código línea por línea.

En la primera línea después de la etiqueta php de apertura, incluimos el vendor/autoload.phparchivo que carga automáticamente todas las bibliotecas.

A continuación, estamos creando un alias Carbon\Carboncomo CarbonnowLa última línea imprime la hora actual usando el método Carbon .

Ejecute el script escribiendo:

php testing.php

La salida debería ser algo como esto:

Now: 2020-03-27 22:12:26

Más adelante, si desea actualizar sus paquetes de PHP, simplemente puede ejecutar:

composer update

El comando anterior buscará versiones más nuevas de los paquetes instalados, y si se encuentra una versión más nueva y la restricción de la versión coincide con la especificada en composer.jsonComposer actualizará el paquete.

Conclusión

Ha aprendido a instalar Composer en su máquina CentOS 8. También le mostramos cómo usar Composer para crear un proyecto PHP básico.

Para encontrar más información sobre Composer, visite la página de documentación oficial de Composer .

Si tiene alguna pregunta, por favor deje un comentario a continuación.