Desarrollar extensiones de Yii2 sin depender de largos ciclos de Git y Composer puede aumentar significativamente la productividad. Este artículo explica un método práctico para desarrollar extensión Yii2 utilizando el repositorio path de Composer, permitiendo que los cambios en el código surtan efecto al instante sin procesos repetitivos de commit, push y actualización. Este enfoque es ideal para fases de desarrollo activo y depuración intensiva.
Usar Git y Composer es la práctica estándar para gestionar extensiones de Yii2. Sin embargo, este flujo de trabajo se vuelve subóptimo durante fases de desarrollo intensivo. Cada modificación del código requiere una serie de pasos: commit en Git, push al repositorio remoto y luego ejecutar composer update en el proyecto principal. Este proceso ralentiza la iteración del desarrollo.
Una solución efectiva es desarrollar extensión Yii2 sin Git como una dependencia local. Este método aprovecha la función de repositorio path de Composer. Funciona dirigiendo tu proyecto principal al directorio del código de la extensión en tu máquina local. En consecuencia, cualquier cambio en los archivos del directorio de la extensión es inmediatamente accesible para el proyecto principal. Esta técnica elimina demoras y es perfecta para prototipado rápido.
Paso 1: Crear Estructura de Extensión Usando Gii
El primer paso es crear el esqueleto de la extensión usando Gii, el generador de código incorporado de Yii2. Accede a Gii a través de tu navegador en http://localhost/tu-proyecto/index.php?r=gii. Luego, selecciona el menú «Extension Generator» (Generador de Extensiones).

Completa todos los campos en el formulario mostrado. Presta especial atención al «Vendor Name» (Nombre del Vendedor, ej: bardimin) y al «Package Name» (Nombre del Paquete, ej: yii2-myextension). La configuración crítica es la «Output Path» (Ruta de Salida). Establécelo en una ubicación dentro de la carpeta vendor, por ejemplo @vendor/bardimin. Esta configuración te ayuda a desarrollar extensión Yii2 en una ubicación organizada.

Una vez que el formulario esté completo, haz clic en el botón «Generate» (Generar). Gii creará los archivos de la estructura básica de la extensión. Verifica abriendo el directorio de salida. Por ejemplo, si el nombre de tu paquete es yii2-myextension, abre la carpeta vendor/bardimin/yii2-myextension. Allí encontrarás archivos principales como composer.json y una clase de autocarga.

Paso 2: Configurar el Composer.json de la Extensión
Para que Composer pueda instalar desde una ruta local, el archivo composer.json de la extensión necesita una configuración especial. Abre este archivo en el directorio de tu extensión. Luego, agrega las siguientes dos líneas. Esta configuración le dice a Composer que este paquete es lo suficientemente estable para instalarse localmente incluso durante el desarrollo.
"minimum-stability": "dev",
"prefer-stable": true
Paso 3: Configurar Repositorio Path en el Proyecto Principal
Ahora, integra la extensión local en tu proyecto principal de Yii2. Abre el archivo composer.json ubicado en la carpeta raíz de tu proyecto. Primero, declara la extensión como un requisito de desarrollo añadiéndola en la sección "require-dev".
"require-dev": {
// Otras dependencias...
"bardimin/yii2-myextension": "@dev"
},A continuación, debes definir el repositorio local. Encuentra o crea la sección "repositories". Luego, agrega una configuración de tipo "path" que apunte al directorio de la extensión usando una ruta absoluta.
"repositories": [
{
"type": "path",
"url": "/ruta/absoluta/hacia/vendor/bardimin/yii2-myextension"
}
]Nota Importante: Usa la ruta absoluta completa a tu carpeta de extensión. En un entorno Windows, por ejemplo: "C:/xampp/htdocs/mi-proyecto/vendor/bardimin/yii2-myextension". Siempre usa barras inclinadas (/) como separadores de carpeta, incluso en Windows. Esta es la clave para desarrollar extensión Yii2 sin Git exitosamente usando el método de repositorio path.
Paso 4: Realizar la Instalación y Probar Resultados
Con la configuración completa, ejecuta el siguiente comando de Composer desde la terminal en la raíz de tu proyecto. Este comando ‘instalará’ desde la ruta local especificada.
composer update bardimin/yii2-myextension
Si tiene éxito, la terminal mostrará un mensaje de instalación desde [path]. La extensión ahora está instalada como un enlace simbólico (symlink). La ventaja principal de este método es la eficiencia de tiempo. Puedes editar directamente el código en la carpeta de la extensión y los cambios serán visibles inmediatamente en la aplicación principal. No hay más procesos repetitivos de commit o composer update.
En conclusión, esta técnica para desarrollar extensión Yii2 sin Git es muy valiosa para acelerar el ciclo de desarrollo. Sin embargo, para implementación en entornos de staging o producción, aún se recomienda usar una gestión de versiones con Git adecuada. Puedes leer información técnica más profunda sobre repositorios path en la documentación oficial de Composer.


