Introducción
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, que extraerán y administrarán todas las bibliotecas y dependencias por usted. Composer se utiliza en todos los frameworks y plataformas PHP modernos como Laravel, Symfony, Drupal y Magento.
Este tutorial explica cómo instalar y usar Composer en Ubuntu 20.04 LTS Focal Fossa.
Si desea instalar Composer en un servidor remoto, continúe leyendo, de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no usa el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar PHP Composer en Ubuntu
Antes de instalar Composer, asegúrese de tener todos los requisitos necesarios instalados en su sistema:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer ofrece un instalador escrito en PHP que usaremos para instalar Composer. Utilice wget
para descargar el instalador:
wget -O composer-setup.php https://getcomposer.org/installer
El comando anterior guardará el archivo como composer-setup.php
en 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 de sudo.
Para instalar Composer globalmente como un comando de todo el sistema que estará disponible para todos los usuarios, simplemente coloque el archivo en un directorio ubicado en el sistema PATH
Ejecute el siguiente comando para instalar Composer en el /usr/local/bin
:
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 ejecutando composer
en su terminal
Para instalar el compositor localmente, ingrese:
sudo php composer-setup.php --install-dir=/path/to/project
Esto descargará un archivo llamado composer.phar
a la raíz del proyecto. Para usar Composer, vaya al directorio del proyecto y ejecute php composer.phar
Cuando hay una nueva versión de Composer disponible, puede actualizar la 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 con el comando mkdir e ingresarlo con el comando cd:
mkdir ~/my-first-composer-project
cd ~/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 de carbono:
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 la salida, Composer crea el composer.json
y descarga e instala carbon y todas sus dependencias.
Si enumera los directorios del proyecto, verá que contiene dos archivos composer.json
y composer.lock
, y un directorio de vendor
ls -l
total 24
-rw-r--r-- 1 noviello noviello 60 Jun 24 16:31 composer.json
-rw-r--r-- 1 noviello noviello 14631 Jun 24 16:31 composer.lock
drwxr-xr-x 6 noviello noviello 4096 Jun 24 16:31 vendor
vendor
es el directorio donde se almacenan las dependencias del proyecto.composer.lock
es un archivo que guarda información sobre todos los paquetes instalados y sus versiones, bloqueando el proyecto en versiones específicas.composer.json
es el archivo que describe su proyecto PHP, incluidas las dependencias PHP y otros metadatos.
Todos los paquetes PHP que se pueden instalar con Composer se enumeran en Packagist.
Composer tiene funciones de carga automática que nos permiten usar clases PHP sin la necesidad de usar require
o include
.
Cree un archivo llamado testing.php
y agregue el siguiente código:
<?php
require __DIR__. '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Repasemos el código línea por línea.
vendor/autoload.php
y carga automáticamente todas las bibliotecas.
La siguiente línea crea un Carbon
y la última línea imprime la hora actual utilizando el método now
Ejecute el script escribiendo:
php testing.php
La salida debería verse así:
Now: 2020-06-24 16:35:25
A continuación, si necesita actualizar los paquetes del proyecto, ingrese:
composer update
El comando anterior buscará versiones más recientes 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.json
, Composer actualizará el paquete.
Conclusión
Le mostramos cómo instalar Composer en Ubuntu 20.04 LTS Focal Fossa 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.