Compositor impresionante
Una lista seleccionada de recursos para Composer, Packagist, Satis, complementos, scripts, videos y tutoriales.
Quizás también te guste awesome-php.
Lea las pautas de contribución antes de contribuir.
Compositor
- Sitio web oficial
- GitHub
- Asuntos
- Fuente
- Documentación
- Guía de introducción e instrucciones de instalación
- Buscar paquetes en Packagist
- CheatSheet: descripción general de los comandos CLI y el esquema de
composer.json
. - Instaladores de Composer: instaladores de Composer para múltiples marcos.
Apoyo
Desbordamiento de pila
- Puede utilizar las siguientes etiquetas:
composer-php
, packagist
, satis
+ php
. - Haz una nueva pregunta
- Encuentra preguntas etiquetadas
composer-php
IRC
- Los canales de IRC están en
irc.freenode.org
: #composer para usuarios y #composer-dev para desarrollo.
Complementos
- Documentación para complementos: esta documentación oficial es un buen punto de partida al escribir un complemento de Composer.
- Composer-Asset-Plugin: un administrador de dependencias de npm/Bower para Composer.
- Composer-AWS: el complemento carga datos del repositorio y descarga paquetes de Amazon S3 (con soporte de autenticación para repositorios privados).
- Composer-Composition: proporciona una API para comprobar su entorno en tiempo de ejecución.
- Composer-Suggest: le permite instalar un grupo personalizado de paquetes sugeridos, según patrones de palabras clave.
- Composer-Versions-Check: muestra paquetes obsoletos de las últimas versiones principales después de usar el comando de actualización (mostrando "El más reciente es vX.YZ").
- Composer-Changelogs: proporciona un resumen de las actualizaciones con enlaces a changelog/releasenote/tag. La salida está lista para pegarse en el mensaje de confirmación al actualizar el archivo compositor.lock.
- Composer-Merge-Plugin: fusiona varios archivos
composer.json
en tiempo de ejecución de Composer. - Composer-Bin-Plugin: agrega soporte para administrar dependencias para múltiples paquetes en un único repositorio o aislar dependencias bin.
- Composer-Inheritance-Plugin: versión con opiniones de Wikimedia Composer-merge-plugin para trabajar en conjunto con Bamarni Composer-bin-plugin.
- Composer-MonoRepo-Plugin: el complemento ayuda a administrar las dependencias de varios paquetes en un único repositorio.
- Composer-Patches-Plugin: le permite proporcionar parches para cualquier paquete desde cualquier paquete. Cuando se recupera la dependencia, el parche se aplica encima.
- Composer-Patches: el complemento aplica un parche desde un archivo local o remoto a cualquier paquete requerido.
- Composer-Patches: aplica un parche desde un archivo local o remoto a cualquier paquete que forme parte de un proyecto de compositor determinado.
- Composer-Patchset: busca, actualiza y aplica parches automáticamente a cualquier paquete de compositor con un toque especial: almacena el conjunto de parches como un paquete de compositor.
- Composer-Plugin-QA: complemento completo para que Composer ejecute herramientas de control de calidad de PHP.
- Composer-Cleanup-Plugin: elimina las carpetas de pruebas y documentación del directorio de proveedores.
- Composer-Cleaner: la herramienta elimina archivos y directorios innecesarios del directorio de proveedores.
- Composer-Ignore-Plugin: le permite eliminar archivos y carpetas de la carpeta del proveedor (para realizar una implementación más limpia y más pequeña en producción). Es una alternativa a
.gitattributes
. - Composer-Vendor-Cleaner: el complemento elimina archivos y directorios de desarrollo innecesarios del directorio
vendor
mediante la sintaxis de patrón global. - Composer-Skrub: el complemento ayuda a eliminar basura de las instalaciones de Composer y recortar los tamaños de compilación.
- Complemento Drupal Vendor Hardening Composer: elimina directorios extraños del directorio de proveedores del proyecto y agrega archivos .htaccess y web.config a la raíz del directorio de proveedores del proyecto.
- Composer-Shared-Package-Plugin: le permite compartir paquetes seleccionados entre sus proyectos mediante la creación de enlaces simbólicos.
- Composer-Symlinker: le permite cargar paquetes desde diferentes directorios (en lugar de cargarlos desde/proveedor).
- Prestissimo: un descargador paralelo que utiliza
phpext_curl
. - Composer-Curl-Plugin: el complemento utiliza
phpext_curl
para descargar paquetes. - Composer-Custom-Directory-Installer: un complemento de Composer para instalar diferentes tipos de paquetes de Composer en directorios personalizados fuera de la ruta de instalación predeterminada de Composer (carpeta del proveedor).
- Composer-Dependency-Analyzer: el complemento ayuda a encontrar problemas de dependencia, incluidas dependencias muertas, no utilizadas, en la sombra y fuera de lugar.
- Composer-Dependency-Analyzer: le permite crear un gráfico de dependencia para un proyecto de compositor instalado.
- Graph-Composer: proporciona una visualización gráfica para el
composer.json
de su proyecto y sus dependencias. - PackageVersions: proporciona un acceso muy rápido y sencillo a las versiones de dependencia del compositor instaladas.
- PackageVersions está en desuso: es una bifurcación de Ocramius/PackageVersions que proporciona compatibilidad con Composer 1 y 2 en PHP 7+.
- Composer-Locator: proporciona un medio para localizar la ruta de instalación de un nombre de paquete Composer determinado.
- PackageInfo: le permite recuperar toda la información del paquete (como versión, etiqueta, fecha de lanzamiento, descripción).
- Composer-Git-Hooks: una biblioteca para administrar fácilmente los ganchos de git en la configuración de su compositor.
- Symfony-Flex: proporciona administración de instalación y configuración basada en recetas para paquetes Symfony.
- Narrowspark-Automatic: automatiza las tareas más comunes de las aplicaciones, aumenta las descargas de paquetes, agrega una auditoría de seguridad del compositor y más.
- PHPCodeSniffer-Composer-Installer: el complemento le permite instalar estándares de codificación PHP_CodeSniffer (conjuntos de reglas).
- Composer-Warmup: el complemento agrega el comando
warmup-opcode
a Composer, que activa la compilación de todos los archivos PHP descubiertos en su proyecto en Opcache. - Foxy: complemento de Composer que ejecuta operaciones de instalación de paquetes npm/yarn, cuando el paquete de compositor está instalado o actualizado.
- NodeJS-Installer: instalador para Node.js y npm.
- Node-Composer: instalador para Node.js, npm e hilo.
- Imposter-Plugin: envuelve todos los paquetes de proveedores de compositores dentro de su propio espacio de nombres. Diseñado para complementos de WordPress.
- Precarga de Composer: el complemento genera un archivo
vendor/preload.php
para calentar Opcache. - PHP Inc: incluye automáticamente archivos para carga automática y autoload-dev para facilitar el uso de funciones y definiciones agrupadas dentro de las aplicaciones cargadas por el compositor.
- Composer Registry Manager: le permite cambiar entre diferentes repositorios de compositores.
- Production-Dependencies-Guard: evita que los paquetes de desarrollo se agreguen a require y entren al entorno de producción.
- Composer-Plugin-Exclude-Files: un complemento para excluir archivos requeridos por los paquetes utilizando el mecanismo de carga automática de "archivos".
- Composer-Downloads-Plugin: mecanismo liviano para descargar recursos externos (archivos ZIP/TAR) con solo una
url
y path
. - Private-Composer-Installer: instale el asistente subcontratando claves confidenciales desde la URL del paquete en variables de entorno.
- CycloneDX-PHP-Composer: crea una "lista de materiales de software" (SBOM) de CycloneDX para las dependencias de un proyecto. El SBOM permite el monitoreo de dependencia y el análisis de riesgos mediante OWASP DependencyTrack.
- Composer-Compile-Plugin: permite que las bibliotecas PHP definan tareas de compilación simples y de forma libre. Admite ganchos posteriores a la instalación en cualquier paquete.
- Composer-Link: agrega la capacidad de vincular paquetes locales para el desarrollo.
- Composer-REPL: el complemento proporciona el comando
composer repl
, que le brinda un shell de lenguaje PHP (bucle de lectura-evaluación-impresión). - Composer-Diff: compara los cambios
composer.lock
y genera un informe de Markdown para su uso en una descripción de solicitud de extracción. - Composer-Velocita: descargas rápidas y confiables de paquetes Composer usando Velocita: un proxy inverso de almacenamiento en caché que no requiere que modifiques tus proyectos.
Herramientas
- Composer SemVer Checker: le permite identificar problemas de resolución de versiones mediante una verificación semántica de la versión de los paquetes alojados en Packagist.
- Composer-Yaml: esta herramienta convierte
composer.yml
a composer.json
. - Studio: un banco de trabajo para desarrollar paquetes Composer. Es una alternativa a editar dependencias en la carpeta del proveedor o usar PathRepositories para cargar un clon local de su dependencia en su proyecto.
- Extensión del navegador OctoLinker: le permite navegar por las dependencias de Composer/NPM en GitHub.
- ComposerRequireChecker: una herramienta CLI para analizar dependencias y verificar que no se utilicen símbolos importados desconocidos en las fuentes de un paquete.
- Composer-Unused: una herramienta CLI que escanea su código y muestra las dependencias de Composer no utilizadas.
- Composer-Normalize: el complemento ayuda a mantener la coherencia de los archivos
composer.json
reestructurando y ordenando las entradas (normalizando). - Composer-Service: le permite ejecutar Composer como un servicio en un servidor remoto.
- Composer PreferLowest Checker: compare estrictamente las versiones mínimas especificadas de su compositor.json con las que realmente utiliza la opción de comando de actualización del compositor prefer-lowest.
- Bramus/Composer-Autocomplete: un script de autocompletado de Bash/Shell para Composer.
- Composer/Xdebug-Handler: le ayuda a reiniciar un proceso CLI sin cargar la extensión xdebug.
- Composer Semver Range Checker: una herramienta para ayudar a verificar los rangos satisfactorios de una restricción de compositor.
Guiones
- ParameterHandler: le permite administrar los parámetros ignorados cuando ejecuta una instalación o actualización de Composer.
- Tooly: administre los archivos PHAR necesarios en su proyecto
composer.json
. Cada archivo PHAR se guardará en el directorio binario del compositor. Opcional con verificación GPG para cada PHAR. - Melodía: guiones de composición de un archivo.
- Composer-Travis-Lint: le permite eliminar el archivo de configuración de Travis CI (
.travis.yml
). - Composer-Multitest: le permite ejecutar un script de Composer en múltiples versiones de PHP instaladas localmente, que son administradas por PHPBrew o phpenv.
- ScriptsDev: le permite utilizar una sección
scripts-dev
, que activa scripts solo en modo de desarrollo. - PhantomJS-Installer: un paquete Composer que instala el binario PhantomJS (Linux, Windows, Mac) en /bin de su proyecto.
- Composer-Vendor-Cleanup: un script que elimina archivos innecesarios incluidos en la lista blanca (como pruebas/documentos, etc.) del directorio de proveedores.
- Composer-Substitution-Plugin: un complemento de Composer que reemplaza los marcadores de posición en la sección
scripts
por valores dinámicos.
Servicios
- Dependabot: Dependabot es un servicio de actualización de dependencias. Supervisa y actualiza sus dependencias enviando una solicitud de extracción. El servicio es gratuito para repositorios públicos y repositorios de cuentas personales.
Tutoriales
- Una guía para principiantes de Composer
- Un breve y sencillo tutorial de Composer
- Fácil gestión de paquetes con Composer
- Gestión de dependencias de PHP con Composer
- Introducción al compositor
- Tutorial de PHP Composer Magento por Alan Storm
- Creación y uso de paquetes Composer
Blogs
- Jordi Boggiano (seldaek)
- Nils Adermann (Naderman)
- Banderas de estabilidad del compositor
- Versionado del compositor
- El largo viaje para hacer que PHPs Composer sea rápido y eficiente en memoria (toflar)
Vídeos
- Mejores prácticas para compositores 2018: Nils Adermann @ scotphp18
- Mejores prácticas de compositores 2018 - Nils Adermann @ phpday 2018
- Administrar dependencias es más que ejecutar "actualización del compositor" - Nils Adermann @ phpsrb17
- Mejores prácticas de compositores — Jordi Boggiano @ phptek 2015
- Maravilloso mundo del compositor
- Inicio rápido del compositor PHP
- Cómo Composer ayudó a dar forma a la nueva forma de escribir PHP - Nils Adermann @ Drupal Camp Frankfurt
- Gestión de paquetes de compositor: Nils Adermann @ T3CON12DE
- Compositor 2 - Jordi Boggiano @ grupo de usuarios de Symfony UK 2020
- Lecciones aprendidas construyendo las partes internas de Composer - Jordi Boggiano @ CODEiD Odessa PHP Conference 2017
Diapositivas
- Diapositivas de Nils Adermann
- Fuente: https://naderman.de/slippy/src/
- PHP reinventado: cómo Composer ayudó a dar forma a la nueva forma de escribir PHP
- Actualización del compositor
- Gestión de dependencias con Composer PHP reinventado
- Gestionar dependencias es más que ejecutar una "actualización del compositor"
- Mejores prácticas del compositor @ T3DD17
- Obtenga control sobre sus dependencias con Private Packagist
- Composer.lock desmitificado
- Compositor en profundidad @ Contao Konferenz 2018
- Mejores prácticas de compositor 2018
- Desarrollo e implementación de Magento con las mejores prácticas de Composer
- Configuración de la plataforma Composer (check-platform-reqs) en SymfonCon 2018
- Diapositivas de Jordi Boggiano
- Fuente: http://slides.seld.be/
- Gestión de dependencias con Composer (2013)
- En profundidad con el compositor (2013)
- Mejores prácticas del compositor (2015)
- Introducción al compositor (2015)
- Compositor en 2016
- Lecciones aprendidas construyendo las partes internas del compositor (2018)
empaquetador
Packagist es el repositorio de paquetes PHP.
Configurar un espejo Packagist
- Packagist Mirror: este script ayuda a configurar un espejo Packagist. Es la versión estable y mantenida de Packagist Crawler.
- Imagen de Docker: esta imagen de Docker ayuda a crear un espejo de empaquetador personalizado.
- Packagist Mirror de Indonesia: otra implementación para crear un espejo packagist.
Espejos empaquetadores
Acerca de los espejos de metadatos: https://packagist.org/mirrors
- América del norte
- Canadá - packagist.org Espejo principal
- Sudamerica
- Brasil - packagist.com.br
- África
- Sudáfrica - packagist.co.za
- Asia
- China: https://pkg.xyz/, https://developer.aliyun.com/composer
- India: https://packagist.in/
- Japón - packagist.jp
- Corea - https://packagist.kr/
Repositorios de compositores
Administrador de Registro
- https://github.com/slince/composer-registry-manager: el complemento te ayuda a cambiar entre diferentes repositorios de compositores.
repositorios privados
- fxpio/tug: le permite alojar un registro privado de Composer en AWS Serverless que sirve sus paquetes PHP privados, que están alojados en los servicios GitHub o GitLab.
Empaquetador privado
- Private Packagist Cloud: un repositorio de Composer como servicio para paquetes privados y para reflejar paquetes de otros repositorios.
- Private Packagist Enterprise: versión autohospedada local de Private Packagist.
- Cliente API Private Packagist: un cliente PHP para la API Private Packagist. El cliente maneja la autenticación, la generación de firmas y el acceso a todos los puntos finales.
Repman
- repman.io y repman-io/repman: un administrador de repositorio de paquetes PHP privado y un proxy Packagist.
- repman-io/composer-plugin: este complemento permite la descarga a través de Repman agregando una URL espejo de distribución para todas sus dependencias (sin necesidad de actualizar el archivo
composer.lock
).
Repositorios compatibles con Packagist
- WordPress Packagist: refleja los directorios de temas y complementos de WordPress como un repositorio de Composer.
- Asset Packagist: permite la instalación de paquetes Bower y NPM como paquetes nativos de Composer.
- Firegento: un repositorio de Composer que proporciona módulos Magento.
- Drupal Packagist: repositorios de Composer para núcleos, módulos y temas de Drupal 7 y 8.
- Satis Server: este contenedor acoplable proporciona un servidor Satis y le permite ejecutar un repositorio Composer privado y autohospedado con soporte para Git, Mercurial y Subversion, API HTTP, soporte HTTP, controlador de webhook y compilaciones programadas.
- Cloudsmith: un SaaS de gestión de paquetes totalmente gestionado con soporte para PHP/Composer (y muchos otros).
- Release Belt: implementación del repositorio Composer autohospedado para integrar rápidamente archivos ZIP de versiones de terceros que no son Composer.
- Packeton: repositorio privado de Composer autohospedado para proveedores. Bifurcación de packagist con soporte adicional para autorización, usuarios de clientes, grupos y webhooks.
Satisface
- GitLab-Composer: este es un indexador de ramas/etiquetas para repositorios de GitLab.
- Satisfy: administrador del repositorio Satis Composer con una interfaz de usuario web.
- Panel de control de Satis: una interfaz de usuario web sencilla para gestionar su repositorio Satis con integración de CI opcional.
- Satis Go: un servidor web para gestionar la configuración de Satis y alojar el repositorio Composer generado.
Proxy Toran
- ToranProxy (obsoleto): además de proporcionar un repositorio de compositores, ToranProxy actúa como un servidor proxy para Packagist y GitHub.
Derechos de autor
En la medida de lo posible según la ley, Jens A. Koch ha renunciado a todos los derechos de autor y derechos relacionados o conexos de este trabajo.