Cómo instalar y usar Composer, PHP Dependency Manager

Logotipo de PHP

Compositor es el administrador de dependencias de referencia de la comunidad PHP. Simplifique la instalación, actualización y uso de paquetes de terceros. Los paquetes se pueden alojar desde repositorios públicos y privados, y los proyectos más populares se publican en Packagist.

→ Índice de contenidos

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 forma generalmente proporciona 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 es unzip en su sistema si desea instalar paquetes desde la fuente.

Composer proporciona una secuencia de comandos de configuración automática. Empiece 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.

Luego, use el script de instalació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 los otros ejecutables. Intenta correr composer en su shell para verificar que todo está funcionando. 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ás usar el archivo composer-setup.php script de nuevo para que pueda eliminarlo ahora.

Prepara tu proyecto

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

Captura de pantalla del comando Composer init

Siga las indicaciones de la línea de comandos para proporcionar información sobre su proyecto, como el nombre, la descripción y los detalles del autor. Los nombres de los paquetes usan la extensión vendor/package sintaxis para evitar conflictos entre autores en repositorios públicos. Deberías usar tu 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 código principal en Packagist. Puede encontrar una descripción completa de la estructura de archivos en el Documentación del compositor sitio.

Instalación del paquete

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 archivo require sección de tu proyecto composer.json archivo. Una vez instalado, la fuente del paquete entra en el archivo vendor carpeta dentro del proyecto.

Captura de pantalla de un archivo Composer.json

Composer se basa en el control de versiones semántico para administrar las actualizaciones de paquetes. Se escribe la versión exacta de cada paquete instalado composer.lock en el directorio de su proyecto. Esto permite a Composer identificar el paquete específico a instalar cuando composer.json indica que una variedad de versiones es aceptable.

Ambos deberían comprometerse composer.json es composer.lock al control de fuente. Luego se pueden ejecutar otros desarrolladores que trabajen en su proyecto composer install para adquirir todas las dependencias que ha definido.

Los paquetes como los ejecutores de prueba se pueden marcar como dependencias de desarrollo proporcionando la extensión --dev bandera al require mando. Se separarán en un archivo require-dev sección interior composer.json. Al instalar sus paquetes, use composer install --no-dev para descartar adicciones al desarrollo. Esto es útil cuando se usa Composer en scripts de implementación y sistemas de CI.

Actualización del paquete

Debe intentar mantener sus paquetes actualizados para no perder 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 composer.json. Un paquete marcado como ^1.2 se actualizará a 1.2.xo 1.3.x pero no a 2.0. los Documentos del compositor incluir información detallada sobre cómo la herramienta resuelve varias formas de restricciones de versión.

La actualización de un paquete reescribirá automáticamente su archivo 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ía de las veces, su cargador automático será el único archivo que necesita require_once() dentro de su proyecto.

Al instalar dependencias, Composer escribirá automáticamente un autocargador en vendor/autoload.php. Los paquetes especifican cómo deben cargarse automáticamente usando el archivo autoload campo en composer.json. Debe configurar esto para su proyecto para que Composer pueda cargar automáticamente sus archivos también:

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

El fragmento de arriba configurará la carga automática de su proyecto usando el estándar PSR-4. Recursos de base de código dentro ExampleProject el espacio de nombres se asignará a los archivos dentro src directorio, por ejemplo use ExampleProjectExampleClassesMyClass automáticamente require_once("src/ExampleProject/ExampleClasses/MyClass.php").

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

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

Debe agregar la fila lo antes posible en su aplicación. Esto asegurará que la carga automática esté habilitada antes de comenzar a usar clases e interfaces dentro de su base de código.

A veces, puede ser necesario forzar la regeneración del cargador automático. Esto sucede a menudo porque ha actualizado su proyecto 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 incrustar 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 tambien incluye un programa de ejecución de secuencias de comandos que le permite realizar tareas dentro de su base de código agregando comandos al archivo scripts bloquear composer.json. Utilizar composer run my-script para ejecutar el script.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir Change privacy settings