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

Con Composer, puede especificar las bibliotecas PHP de las que depende su proyecto, y extraerá y administrará todas las bibliotecas y dependencias por usted. Composer se utiliza en todos los marcos y plataformas PHP modernos, como Laravel, Symfony, Drupal y Magento.

Este tutorial explica cómo instalar y usar Composer en Ubuntu 20.04.

Instalación de PHP Composer en Ubuntu

Antes de instalar Composer, asegúrese de tener todos los requisitos necesarios instalados en su sistema:

sudo apt updatesudo apt install wget php-cli php-zip unzip

Composer ofrece un instalador escrito en PHP que usaremos para instalar Composer. Use wget para descargar el instalador:

wget -O composer-setup.php https://getcomposer.org/installer

El comando anterior guardará el archivo como composer-setup.phpen el directorio de trabajo actual .

Composer es una aplicación CLI de un solo archivo y se puede instalar globalmente o como parte del proyecto. La instalación global requiere privilegios sudo .

  • Para instalar Composer globalmente como un comando para todo el sistema que estará disponible para todos los usuarios, simplemente coloque el archivo en un directorio que esté en el sistema PATH . Ejecute el siguiente comando para instalar Composer en el /usr/local/bindirectorio:

    sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
    All settings correct for using Composer
    Downloading...
    
    Composer (version 1.10.7) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer

    Ahora puede usar Composer ejecutándolo composeren su terminal.

  • Para instalar Composer localmente ingrese:

    sudo php composer-setup.php --install-dir=/path/to/project

    Esto descargará un archivo con el nombre composer.pharen el directorio raíz de su proyecto. Para usar Composer, navegue hasta el directorio del proyecto y ejecutephp composer.phar

Cuando esté disponible una nueva versión de Composer, puede actualizar su instalación usando el siguiente comando:

sudo composer self-update  

Introducción a Composer

Ahora que Composer está instalado en su sistema Ubuntu, veamos cómo crear un proyecto PHP con Composer.

El primer paso es crear el directorio raíz del proyecto y navegar 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
Using version ^2.35 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
  - Installing symfony/translation-contracts (v2.1.2): Downloading (100%)         
  - Installing symfony/polyfill-php80 (v1.17.0): Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.17.0): Downloading (100%)         
  - Installing symfony/translation (v5.1.2): Downloading (100%)         
  - Installing nesbot/carbon (2.35.0): Downloading (100%)         
Writing lock file
Generating autoload files
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Como se muestra en el resultado, Composer crea el composer.jsonarchivo y descarga e instala 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 velozega velozega    60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 velozega velozega 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 velozega velozega 82 Mar 27 18:06 vendor
  • vendores el directorio donde se almacenan las dependencias del proyecto.
  • composer.lockes un archivo que guarda información sobre todos los paquetes instalados y sus versiones, bloqueando el proyecto a las versiones específicas.
  • composer.jsones el archivo que describe su proyecto PHP, incluidas las dependencias de PHP y otros metadatos.
Todos los paquetes de PHP que se pueden instalar con Composer se enumeran en Packagist .

Composer tiene capacidades de carga automática que nos permiten usar clases de PHP sin necesidad de requirearchivos include.

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.

vendor/autoload.phpComposer genera automáticamente el archivo y carga automáticamente todas las bibliotecas.

La siguiente línea crea un alias y la última línea imprime la hora actual usando el método CarbonCarbon .now

Ejecute el script escribiendo:

php testing.php

La salida debería ser algo como esto:

Now: 2020-06-17 20:41:04

Más tarde, si necesita actualizar los paquetes del proyecto, ingrese:

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

Le mostramos cómo instalar Composer en Ubuntu 20.04 y cómo usarlo para crear un proyecto PHP básico.

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

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