Skip to content

Cómo instalar y usar Composer, el administrador de dependencias de PHP

  • by Jesús Torres

Composer es el administrador de dependencias de la comunidad PHP. Simplifica la instalación, modernización y uso de paquetes de terceros. Los paquetes se pueden encajar en repositorios públicos y privados, y los proyectos más populares se pueden anunciar en Packagist.

Instalación de Composer

Composer es un esfuerzo de la comunidad que no está incluido con PHP. Se distribuye como un archivo PHP PHAR desde getcomposer.org. Algunas distribuciones de Linux incluyen Composer en sus repositorios de software, pero la instalación de esta guisa generalmente genera una traducción desactualizada.

Asegúrese de tener PHP instalado antaño de continuar. PHP 5.3 es la traducción compatible más antigua en el momento de escribir este artículo. Asimismo necesitarás git y unzip en su sistema si desea instalar paquetes desde la fuente.

Composer proporciona un script de configuración automatizado. Comience descargando el instalador en su directorio de trabajo:

curl https://getcomposer.org/installer -o composer-setup.php

Ahora debe compulsar el hash del instalador para compulsar que no haya sido manipulado. Consulte el sitio web de Composer para comprobar el hash más fresco y obtener un código de comprobación de muestra.

A continuación, use el script de configuración para instalar Composer:

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

Esto descargará Composer en /usr/locorregional/bin, lo que le permite sentarse en su camino próximo con sus otros ejecutables. Intenta valer composer en su caparazón para comprobar que todo funciona. Se debe mostrar la traducción de Composer, seguida de una índice de los comandos de Composer disponibles.

Para desempolvar Composer en el futuro, ejecute composer self-update. Esto reemplazará automáticamente su binario Composer con la última traducción. No necesitará usar el composer-setup.php script de nuevo para que pueda eliminarlo ahora.

Preparando su plan

Necesitarás crear un composer.json en el directorio de trabajo de su plan antaño de que pueda comenzar a usar Composer. Carrera composer init para crear uno de forma interactiva. Esto le permitirá realizar una configuración básica.

Siga las indicaciones de la itinerario de comando para proporcionar información sobre su plan, como su nombre, descripción y detalles del autor. Los nombres de los paquetes usan vendor/package sintaxis para evitar conflictos entre autores en repositorios públicos. Debe utilizar su nombre de legatario de Packagist como vendor componente.

La mayoría de las claves en composer.json son opcionales a menos que tenga la intención de anunciar su código cojín en Packagist. Puede encontrar una descripción completa de la estructura del archivo en el sitio de documentación de Composer.

Instalación de paquetes

Puede anexar paquetes a su plan usando el composer require mando:

composer require vendor/package

Busque paquetes para instalar utilizando el sitio web de Packagist. Se agregarán al require sección de tu plan composer.json archivo. Una vez instalado, la fuente del paquete entra en el vendor carpeta internamente de su plan.

Composer se sostén en el control de versiones semántico para manejar las actualizaciones de paquetes. La traducción exacta de cada paquete que ha instalado está escrita en composer.lock en el directorio de su plan. Esto permite a Composer identificar el paquete específico que se instalará cuando composer.json indica que una variedad de versiones es aceptable.

Deberías cometer entreambos composer.json y composer.lock a su control de fuente. Otros desarrolladores que trabajan en su plan pueden ejecutar composer install para mercar todas las dependencias que ha definido.

Los paquetes, como los ejecutores de prueba, se pueden marcar como dependencias de exposición proporcionando el --dev bandera a la require mando. Estarán separados en un require-dev sección internamente composer.json. Al instalar sus paquetes, use composer install --no-dev para excluir dependencias de exposición. Esto es útil cuando se utiliza Composer en scripts de implementación y sistemas de CI.

Modernización de paquetes

Debe intentar amparar sus paquetes actualizados para no perderse la seguridad y las correcciones de errores. Ejecutar el composer outdated comando para ver una índice de dependencias en `composer.json` que tienen nuevas versiones disponibles.

Para aplicar las actualizaciones, ejecute composer update. Esto respetará el control de versiones semántico y desplegará la traducción más fresco de cada paquete, internamente de las restricciones de traducción especificadas por su composer.json. Un paquete traumatizado como ^1.2 se actualizará a 1.2.xo 1.3.x pero no a 2.0. Los documentos de Composer incluyen información detallada sobre cómo la aparejo resuelve diferentes formas de restricción de traducción.

La modernización de un paquete reescribirá automáticamente su composer.lock archivo para especificar la nueva traducción. Otros desarrolladores que trabajan en su plan pueden retornar a ejecutar composer install para obtener los paquetes exactos que está utilizando.

El autocargador Composer

La carga cibernética es el mecanismo preferido para descubrir archivos fuente internamente de PHP. Composer tiene soporte de primera clase para la carga cibernética; la maduro parte del tiempo, su cargador forzoso será el único archivo que necesita require_once() internamente de su plan.

A medida que instala dependencias, Composer escribirá automáticamente un autocargador en vendor/autoload.php. Los paquetes especifican cómo deben cargarse automáticamente con el autoload campo en composer.json. Debe configurar esto para su propio plan para que Composer pueda cargar automáticamente sus archivos asimismo:

{
    "autoload": {
        "psr-4": {
            "ExampleProject": "src/"
        }
    }
}

El fragmento previo configurará la carga cibernética de su plan utilizando el normalizado PSR-4. Fortuna de la cojín de código internamente del ExampleProject el espacio de nombres se asignará a archivos internamente del src directorio – por ejemplo, use ExampleProjectExampleClassesMyClass automáticamente require_once("src/ExampleProject/ExampleClasses/MyClass.php").

El único archivo que necesitará manualmente require_once() es el propio cargador forzoso:

require_once(__DIR__ . "/vendor/autoload.php");

Debe anexar la itinerario lo antaño posible en su solicitud. Esto asegurará que la carga cibernética esté habilitada antaño de comenzar a consumir clases e interfaces internamente de su cojín de código.

A veces, es posible que deba forzar la regeneración del cargador forzoso. A menudo, esto se debe a que ha actualizado el autoload configuración. Tu puedes valer composer dump-autoload para escribir un nuevo autocargador bajo demanda.

Compendio

Composer simplifica el exposición de PHP al proporcionar el administrador de dependencias que descuido en el jerga principal. Con Composer, puede incorporar fácilmente código de terceros en sus proyectos, sin tener que descargar manualmente los archivos fuente y mantenerlos actualizados.

El autocargador integrado de Composer le permite obtener a los paquetes instalados sin ningún trabajo adicional de su parte. La aparejo asimismo incluye un software de ejecución de secuencias de comandos que le permite ejecutar tareas internamente de su cojín de código agregando comandos al scripts bosquejar composer.json. Utilizar composer run my-script para ejecutar el script.