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

Logotipo de PHP

Compositor es el administrador de dependencias de la comunidad PHP. Simplifica la instalación, actualización y uso de paquetes de terceros. Los paquetes se pueden alojar en repositorios públicos y privados, y los proyectos más populares se pueden publicar 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 manera generalmente genera una versión desactualizada.

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

Composer proporciona un script de configuración automatizado. Comience por descargar el instalador a su directorio de trabajo:

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

Ahora debe verificar el hash del instalador para verificar que no haya sido manipulado. Referirse a Sitio web del compositor para comprobar el hash más reciente y obtener un código de verificación de muestra.

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

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

Esto descargará Composer en /usr/local/bin, lo que le permite sentarse en su camino junto con sus otros ejecutables. Intenta correr composer en su caparazón para comprobar que todo funciona. Se debe mostrar la versión de Composer, seguida de una lista de los comandos de Composer disponibles.

Captura de pantalla de la salida de ayuda de Composer

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

Preparando su proyecto

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

Captura de pantalla del comando Composer init

Siga las indicaciones de la línea de comando para proporcionar información sobre su proyecto, 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 usuario de Packagist como vendor componente.

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

Instalación de paquetes

Puede agregar paquetes a su proyecto usando el composer require mando:

composer require vendor/package

Busque paquetes para instalar usando el Sitio web de Packagist. Se agregarán al require sección de tu proyecto composer.json archivo. Una vez instalado, el código fuente del paquete va al vendor carpeta dentro de su proyecto.

Captura de pantalla de un archivo Composer.json

Composer se basa en el control de versiones semántico para manejar las actualizaciones de paquetes. La versión exacta de cada paquete que ha instalado está escrita en composer.lock en el directorio de su proyecto. 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 ambos composer.json y composer.lock a su control de fuente. Otros desarrolladores que trabajan en su proyecto pueden ejecutar composer install para adquirir todas las dependencias que ha definido.

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

Actualización de paquetes

Debería intentar mantener sus paquetes actualizados para no perderse la seguridad y las correcciones de errores. Ejecutar el composer outdated comando para ver una lista 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 versión más reciente de cada paquete, dentro de las restricciones de versión especificadas por su composer.json. Un paquete marcado como ^1.2 se actualizará a 1.2.xo 1.3.x pero no a 2.0. los Documentos de Composer Incluya información detallada sobre cómo la herramienta resuelve diferentes formas de restricción de versión.

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

El autocargador Composer

La carga automática es el mecanismo preferido para descubrir archivos fuente dentro de PHP. Composer tiene soporte de primera clase para la carga automática; la mayor parte del tiempo, su cargador automático será el único archivo que necesita require_once() dentro de su proyecto.

A medida que instala las 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 proyecto para que Composer pueda cargar automáticamente sus archivos también:

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

El fragmento anterior configurará la carga automática de su proyecto usando el estándar PSR-4. Recursos de la base de código dentro del ExampleProject el espacio de nombres se asignará a los archivos dentro 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 automático:

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

Debe agregar la línea lo antes posible en su solicitud. Esto asegurará que la carga automática esté habilitada antes de comenzar a consumir clases e interfaces dentro de su base de código.

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

Resumen

Composer simplifica el desarrollo de PHP al proporcionar el administrador de dependencias que falta en el lenguaje 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 acceder a los paquetes instalados sin ningún trabajo adicional de su parte. La herramienta también incluye un programa de ejecución de secuencias de comandos que le permite ejecutar tareas dentro de su base de código agregando comandos al scripts bosquejar composer.json. Utilizar composer run my-script para ejecutar el script.

Deja un comentario

En esta web usamos cookies para personalizar tu experiencia de usuario.    Política de cookies
Privacidad