Introducción
Composer es un administrador de dependencias para PHP (similar a npm para Node.js o pip para Python ).
Composer colocará todos los paquetes PHP requeridos de los que depende su proyecto y los manejará por usted. Se utiliza en todos los frameworks y plataformas PHP modernos como Laravel, Symfony, Drupal y Magento.
Este artículo explica cómo instalar Composer en sistemas Debian 10. También cubriremos cómo usar Composer para crear y administrar proyectos PHP.
Si desea instalar PHP Composer en un servidor remoto, siga leyendo; de lo contrario, omita el primer párrafo "Conectando 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 root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie root 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 Composer en Debian
Antes de instalar Composer, asegúrese de tener todos los paquetes necesarios instalados en su sistema Debian:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer ofrece un instalador escrito en PHP que usaremos para instalar Composer.
Descarga el instalador con wget
:
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 que 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 que esté en el sistema PATH
El siguiente comando instala 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.10) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Ahora puede usar Composer ejecutando el composer
en su terminal.
Para instalar Composer localmente, descargue el archivo al directorio raíz de su proyecto:
sudo php composer-setup.php --install-dir=/path/to/project
Esto descargará un archivo llamado composer.phar
. 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 tiene Composer instalado en su sistema Debian, le mostraremos cómo crear un proyecto PHP.
Empiece creando un directorio que será la raíz del proyecto y contendrá el archivo composer.json
Este archivo describe su proyecto PHP, incluidas las dependencias PHP y otros metadatos.
Ejecute los siguientes comandos para crear el directorio del proyecto y cambie a él con:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
A continuación, inicializaremos un nuevo composer.json
usando el composer require <package name>
y especificaremos el paquete que queremos descargar. En este ejemplo, crearemos una aplicación de muestra que imprimirá la hora actual utilizando un paquete llamado carbono.
Ejecute el siguiente comando para inicializar un nuevo composer.json
e instalar el paquete carbon:
composer require 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.3): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.18.1): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.18.1): Downloading (100%)
- Installing symfony/translation (v5.1.3): Downloading (100%)
- Installing nesbot/carbon (2.38.0): 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
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 el directorio de su proyecto con el ls
, verá que contiene dos archivos composer.json
y composer.lock
, y un directorio de vendor
ls -l
-rw-r--r-- 1 root root 60 Sep 2 21:07 composer.json
-rw-r--r-- 1 root root 14996 Sep 2 21:07 composer.lock
drwxr-xr-x 6 root root 4096 Sep 2 21:07 vendor
vendor
: el directorio donde se almacenan las dependencias del proyecto.composer.lock
: un archivo que contiene una lista de todos los paquetes instalados, incluida la versión del paquete.composer.json
: un archivo que describe el proyecto PHP y todas las dependencias PHP.
Puede buscar paquetes PHP en el repositorio de Composer Packagist.
Composer proporciona capacidades de carga automática que le permiten usar clases PHP sin la necesidad de require
o include
archivos.
Cree un archivo llamado testing.php
y pegue el siguiente código:
sudo nano testing.php
<?php
require __DIR__. '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Repasemos 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.php
que fue generado automáticamente por Composer. Este archivo cargará automáticamente todas las bibliotecas necesarias.
A continuación, creamos el alias Carbon\Carbon
Carbon
y en la última línea imprimimos la hora actual utilizando el método now
Ejecute el script escribiendo:
php testing.php
La salida debería verse así:
Now: 2020-09-02 21:08:26
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 versión coincide con la especificada en composer.json
, Composer actualizará el paquete.
Conclusión
Le mostramos cómo instalar Composer en Debian 10 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.