1. Code
  2. PHP
  3. PHP Scripts

Qué es Composer para PHP y cómo instalarlo

Scroll to top

Spanish (Español) translation by Ana Paulina Figueroa (you can also view the original English article)

Hoy, vamos a discutir una de las herramientas más importantes en PHP: el administrador de dependencias Composer. En este artículo veremos los detalles de Composer a profundidad, además de cómo instalarlo y usarlo durante tu desarrollo cotidiano con PHP.

Si has estado escribiendo código en PHP desde hace tiempo, seguramente sabrás cómo es que las bibliotecas de PHP pueden ayudar a ahorrar trabajo y permitir que el código sea reutilizable. En el pasado era más difícil agregar bibliotecas a PHP, lo que ocasionó que se tuviera que "reinventar la rueda" en muchas ocasiones al crear funciones comunes. Por ejemplo, una DAL (capa de abstracción de base de datos, del inglés database abstraction layer) es imprescindible para cualquier aplicación PHP, pero no había ni una biblioteca ni un paquete estándar, por lo que muchas personas terminaron desarrollando los suyos.

Ciertamente habían muchas opciones disponibles en aquel entonces, pero era difícil agregar dependencias, hacer un seguimiento de ellas y gestionar tu aplicación a largo plazo. Ahí es en donde entra un administrador de dependencias como Composer. De hecho, antes de Composer había una popular herramienta llamada PEAR, que se usaba para administrar extensiones y bibliotecas de PHP. Pero tenía sus propias limitaciones, así que Composer fue creado para solucionarlas.

En pocas palabras, necesitamos una herramienta que se pueda usar para instalar bibliotecas y administrar dependencias de aplicaciones. Composer hace un gran trabajo con respecto a esto, y es el administrador de paquetes a nivel de aplicación para PHP. Ha ganado una inmensa popularidad y se ha convertido en el estándar de facto para administrar dependencias en aplicaciones de PHP.

¿Qué es un Composer?

Composer es una herramienta para la administración de dependencias en PHP. Te permite declarar las bibliotecas de las que depende tu proyecto y las administrará (instalará y actualizará) por ti.

Introducción a Composer

Es importante tomar en cuenta que Composer te permite instalar las bibliotecas necesarias en función de cada proyecto. Este te permite usar diferentes versiones de la misma biblioteca en diferentes proyectos PHP. Desde luego, hay una opción para instalar una biblioteca globalmente, pero no se recomienda. Si has escuchado de npm para Node.js, o Bundler para Ruby, eso es lo que Composer es para PHP.

Para instalar y usar bibliotecas administradas por Composer, solo necesitas declararlas en tu proyecto en un formato estándar, y Composer se encargará del resto. Por ejemplo, si quieres instalar la biblioteca phpmailer usando Composer, solo necesitas ejecutar el siguiente comando en la raíz de tu proyecto.

1
$composer require phpmailer/phpmailer

Esto instala la biblioteca phpmailer y sus dependencias en el directorio vendor de tu proyecto. Más importante aún, también crea los archivos composer.json y composer.lock que serán usados para rastrear las dependencias de tu proyecto. Volveremos a esto a detalle más adelante en este artículo.

De hecho, Composer se ha convertido en un estándar global cuando se trata de administrar bibliotecas de terceros en PHP. Frameworks populares de PHP, como Symfony, Laravel, Drupal y muchos más, ya han adoptado un flujo de trabajo basado en Composer en sus ciclos de vida de desarrollo.

En la siguiente sección vamos a ver cómo instalar Composer.

Cómo instalar Composer

Cuando se trata de instalar Composer, hay dos maneras de hacerlo. Puedes instalarlo ya sea localmente por proyecto o globalmente. Vamos a instalarlo globalmente para que se pueda usar en diferentes proyectos.

Cómo instalar Composer en *nix y macOS

Para los sistemas basados en *nix, como Linux y Unix, solamente se necesita un único comando para instalar y ejecutar Composer de inmediato. Sigue adelante y ejecuta el siguiente comando en tu terminal.

1
$curl -s https://getcomposer.org/installer | php
2
All settings correct for using Composer
3
Downloading...
4
5
Composer (version 1.10.6) successfully installed to: /home/sajal/composer.phar
6
Use it: php composer.phar

Y, con eso, ¡Composer se ha instalado localmente y estás listo para usarlo con el comando php composer.phar! Sin embargo, queremos instalarlo globalmente, así que hagamos eso ejecutando el siguiente comando.

1
$sudo mv ./composer.phar /usr/bin/composer

Ahora deberías poder usar Composer globalmente. Continúa y pruébalo para ver si se ha instalado con éxito.

1
$composer --version
2
Composer version 1.10.6 2020-05-06 10:28:10

Por otro lado, si has instalado Composer localmente, tendrías que ejecutar el comando php composer.phar --version.

Como puedes ver, es bastante sencillo instalar Composer en sistemas basados en Linux y Unix. En la siguiente sección, veremos cómo instalarlo en sistemas Windows.

Cómo instalar Composer en Windows

Para los usuarios de Windows, instalar Composer es aún más sencillo. Solo necesitas descargar el ejecutable de instalación de Composer y ejecutarlo. Sigue los pasos de la instalación y este proceso instalará la versión más reciente de Composer. Deberías poder ejecutar comandos de Composer inmediatamente.

Es importante mencionar que necesitas reiniciar tu terminal después de haber instalado Composer, ya que la variable PATH solamente se carga al arrancar la terminal.

Así que ese fue un resumen sobre la instalación de Composer en diferentes sistemas operativos.

¿Qué es Packagist?

Ahora conoces los conceptos básicos de Composer y cómo instalarlo. La siguiente pregunta es cómo saber qué bibliotecas están disponibles para ser instaladas con Composer. ¿Existe algún repositorio central en donde Composer tenga la lista de bibliotecas disponibles? Sí: Packagist.

Packagist es el repositorio de paquetes predeterminado de Composer, desde el que Composer extrae bibliotecas y sus dependencias cuando le solicitas que instale una biblioteca específica. Hay cientos de bibliotecas disponibles en Packagist, lo que demuestra la popularidad de Composer. Si necesitas una función en tus proyectos de PHP que crees que ya debería estar disponible como una biblioteca de terceros, ¡Packagist es el primer lugar en el que debes buscar!

Cuando se trata de buscar bibliotecas, Composer también es capaz de buscar más allá del repositorio Packagist. Puedes pedirle a Composer que busque en repositorios diferentes a Packagist para instalar bibliotecas modificando la clave repositories en el archivo composer.json. De hecho, esto es lo que harás si quieres administrar tus propios paquetes privados de Composer.

En la siguiente sección, veremos cómo usar Composer para instalar bibliotecas en tus proyectos de PHP.

Cómo usar Composer

Cuando se trata de instalar bibliotecas con Composer, hay dos formas principales de hacerlo. Revisemos esto rápidamente para comprender cómo funciona.

El comando install

Para usar install, primero necesitas crear el archivo composer.json en tu proyecto. En el archivo composer.json, solo necesitas declarar las dependencias de tu proyecto como se muestra en el siguiente fragmento de código.

1
{
2
    "require": {
3
        "phpmailer/phpmailer": "~6.1"
4
    }
5
}

A continuación, al ejecutar el comando composer install desde esa carpeta, Composer instala el paquete phpmailer y sus dependencias en el directorio vendor. Más importante aún, también crea el archivo composer.lock, que tiene una lista de todos los paquetes y las versiones exactas que están instaladas.

El comando require

Podemos decir que el comando composer require es una especie de acceso directo para el proceso anterior de crear un archivo composer.json. require agregará un paquete a tu archivo composer.json automáticamente. El siguiente comando muestra cómo instalar el paquete phpmailer con la ayuda de require.

1
$composer require phpmailer/phpmailer

Después de instalar el paquete phpmailer y sus dependencias, require también agrega una entrada del paquete que se instala en el archivo composer.json. Si el archivo composer.json no existe, este será creado sobre la marcha. Por supuesto, también actualiza el archivo composer.lock para escribir la información del paquete junto con las versiones exactas.

Así es como puedes instalar las dependencias necesarias en tus proyectos de PHP usando Composer. Y, con eso, hemos llegado al final de este artículo también.

Conclusión

Composer se ha convertido en el estándar de facto para administrar dependencias de proyectos en PHP. En este artículo, hemos analizado los conceptos básicos de Composer y cómo instalarlo.

Los mejores scripts de PHP en CodeCanyon

Las bibliotecas gratuitas en Packagist son maravillosas para la funcionalidad básica: los fundamentos de una buena aplicación. Sin embargo, para funciones más especializadas o para aplicaciones completas que puedas usar y personalizar, echa un vistazo a los scripts profesionales de PHP en CodeCanyon.

Estos son algunos de los scripts de PHP mejor vendidos y más prometedores disponibles en CodeCanyon para 2020.