Hay una forma de en una plantilla básica de Yii configuar el achivo "yii.bat" para poder ejecutar el comando yii pero para diferentes instancias.
Crea copia de carpeta de configuracion
Tienes que crear una copia de la carpeta "config" y ponerle algun nombre para identificarla del nombre original ejemplo: "config_aplicacion1"
El nombre no importa solo una algun nombre valido de carpeta.
Configurar archivo yii.bat
Recordar que es el anitguo lenguaje de Windows de procesamiento por lotes su nombre de extensión es ".bat" solo para el caso de windows.
Entonces si quisieramos tener 2 o más carpetas de configuración en una misma aplicación se podria hacer, sólo tendriamos que hacer estos cambios,
Uno de los problemas es que tenemos un mismo archivo "yii.bat" pero necesitamos tener uno por cada aplicación, para esto tenemos que hacer algunas cambios más.
Normalmente tenemos el archivo yii.bat en raiz del proyeto el cual tiene una estructura como la siguiente:
@echo off
rem -------------------------------------------------------------
rem Yii command line bootstrap script for Windows.
rem
rem @author Qiang Xue <qiang.xue@gmail.com>
rem @link http://www.yiiframework.com/
rem @copyright Copyright (c) 2008 Yii Software LLC
rem @license http://www.yiiframework.com/license/
rem -------------------------------------------------------------
@setlocal
set YII_PATH=%~dp0
if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe
"%PHP_COMMAND%" "%YII_PATH%yii" %*
@endlocal
En el archivo "yii.bat" ubica la linea:
"%PHP_COMMAND%" "%YII_PATH%yii" %*
Sin profundizar mucho en este tema dire que lo que tienes que modificar donde dice "yii" y agregar un guión bajo y colocar un nombre descriptivo de tu configuracion, ejemplo "yii_aplicacion1" quedando asi:
"%PHP_COMMAND%" "%YII_PATH%yii_aplicacion1" %*
Y lo siguiente que tienes que hacer es crear una copia del archivo asi:
yii-bat >>>>>> yii_aplicacion1.bat
Configurar archivo yii
El siguiente paso es abrir el archivo que se llama "yii" el que no tiene nombre de extensión de archivo el cual luce mas o menos asi:
#!/usr/bin/env php
<?php
/**
* Yii console bootstrap file.
*
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/vendor/yiisoft/yii2/Yii.php';
$config = require __DIR__ . '/config/console.php';
$application = new yii\console\Application($config);
$exitCode = $application->run();
exit($exitCode);
Aqui es donde podemos personalizar una carpeta de configuración de la siguiente manera
$configPath = "aplicacion1";
$config = require __DIR__ . '/config_' . $configPath . '/console.php';
Guarda una copia con el nombre del archivo con el nombre "yii_aplicacion1".
Recomiendo dejar el archivo original "yii" por si cometes algún error.
Probar cambios
Con estos tres pasos anteriores podrias ejecutar el siguiente comando en consola por ejemplo:
Eso hará que tome la configuración de la carpeta que configuraste previamente, es decir la carpeta "config_aplicacion1".
Puedes repetir este paso cuantas carpetas de configuración quieras.
Gracias por tus comentarios.
Comentarios
Publicar un comentario