formatting del nombre del proveedor del compositor para el directory nested

El formatting de nombre de package estándar para un package de compositor es vendor/pkName . Tengo esta siguiente estructura de directory:

  - myVendorName - extensions - yii2 -Ext1 -Ext2 and so on - bundles - bundle1 - bundle2 - bundle3 and so on - toolkit - forlder1 - folder2 and so on 

Esta es la organización que di en mi disco duro, pero los proyectos reales son como:

  - myVendorName/extensions/yii2/ext1 - myVendorName/extensions/yii2/ext2 - myVendorName/bundles/bundle1 - myVendorName/bundles/bundle2 - myVendorName/bundles/bundle3 - myVendorName/toolkit 

Mis preguntas sobre esto:

  1. Es posible almacenar todo en un repository git y requerir con el compositor solo los subpackages necesarios (por ejemplo: requerir solo myVendorName/toolkit y myVendorName/bundles/bundle3 )

  2. Es posible mantener el formatting de nombre extendido con el compositor (por lo que en composer.json requiere sección, requiera para myVendorName/bundles/bundle3 lugar de myVendorName/bundle3 )

¿Hay alguna manera de lograr estos 2 puntos?

Puedes lograr (1) usando la subsplit de subtítulos git. Usando este método, divide directorys separados del repository principal en un nuevo repository y lo envía a github. De esta forma, todos los packages aún tienen su propio repository, pero solo tiene que mantener un repository (muchos grandes proyectos lo usan, como Symfony, Laravel, etc.).

(2) no es compatible. Puede usar algo como my_vendor/third-bundle lugar de my_vendor/bundles/third . El directory no es importante de todos modos, ya que Composer perfectamente autocargará todas las classs dentro de los packages (si tienen la configuration de carga automática correcta).

Es posible almacenar todo en un repository git y requerir con el compositor solo los subpackages necesarios (por ejemplo: requerir solo "myVendorName / toolkit" y "myVendorName / bundles / bundle3")

Sí. Si tiene los mismos componentes en diferentes proyectos que pueden requerir un set específico de dependencies, considere la posibilidad de convertirlos en un package reutilizable en lugar de en un package vacío con composer.json. También tenga en count que require-dev se está resolviendo solo en el package raíz .

Es posible mantener el formatting de nombre extendido con el compositor (por lo tanto, en la sección require de composer.json, solicite "myVendorName / bundles / bundle3" en lugar de "myVendorName / bundle3"

Sí. En los repositories , proporcione vcs o repository de package y resuélvame myVendorName/bundles/bundle3 . url en vcs puede referirse a git repo local. No hay una forma simple de alias "myVendorName / bundle3" como "myVendorName / bundles / bundle3", lo que hace que la idea no sea práctica.