Personal archivo yii.bat en ambiente Windows

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:


yii_aplicacion1 migrate


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

Aprende Yii2


Lo más Visto

Tutorial de implementación de calendario de rango de fechas con Karkit en gridView

Cómo evitar el reenvío de formulario

Como instalar Yii en Windows usando App Serv

hostinger

ventana bienvenida