====== Crear y configurar una aplicación ======
===== Crear la aplicación =====
La forma más fácil es utilizar composer. (Ver gect
* Entramos en el cmd y hacemos lo siguiente:
* Nos vamos al directorio donde queremos crear la aplicación (habitualmente c:\xampp\htdocs, o /var/www/html en Linux )
* Si es la primera vez que utilizamos Yii, ejecutamos composer global require "fxp/composer-asset-plugin:^1.2.0"
* Para crear la aplicación :
composer create-project --prefer-dist yiisoft/yii2-app-basic miaplicacion
Se creará toda la estructura de la aplicación y descargará el framework Yii2. El modelo yii2-app-basic es el válido
para la mayoría de las aplicaciones. Existe otro modelo, llamado yii2-app-advanced más sofisticado, para aplicaciones con backend y frontend, roles complejos, entornos de ejecución definibles, etc...
Yii necesita escribir en las carpetas web/assets y runtime, por lo que han de tener permisos de escritura para el usuario asociado al servidor Apache. EnLinux, si el usuario de Apache es wwwroot podemos cambiar esos permisos con
cd /var/www/html/miaplicacion
chown www-data web/assets runtime
**IMPORTANTE: Hay que tener instaladas las extensiones php_curl y php_gd. En linux: apt install php-curl php-gd, y en Windows habilitándolas en php.ini **
Si ha ido todo bien, podremos acceder a la aplicación en el navegador entrando en http://localhost/miaplicacion/web. Es interesante definir en Apache un servidor virtual cuyo DocumentRoot sea la ruta de nuestra aplicación+/web . De esta forma, accederíamos de una forma del estilo: http://localhost:88 , o con un nombre de dominio http://miaplicacion.com
===== Configurar la aplicación =====
En **config/web.php**:
* **Idioma**: Añadimos una línea:
* 'language'=>'es'
* **Nombre de la aplicación**: Modificamos (o creamos, si no está), el valor de "name"
* **Ruta por defecto**. Para cambiar la acción a ejecutar por defecto (site/index) por otra, añadimos 'defaultRoute'=>'CONTROLADOR/accion'
En **config/db.php**:
* Definimos los parámetros de conexión a la base de datos. (componente db)
En **config/params.php**:
* **Parámetros de la aplicación**: Son datos fijos, a los que después se puede acceder desde cualquier parte (controladores, vistas y modelos)
===== Entornos de ejecución y debugger =====
En web/index.php se definen 2 constantes:
* YII_ENV es el entorno de ejecución. Si se cambia "dev" por "prod", se activa el entorno de producción, que cambia la configuración, desactivando determinadas funcionanalidades, como el generador de código.
* YII_DEBUG permite activar o desactivar el debugger (barra inferior en ejecución que permite hacer seguimiento de todo lo que pasa).
Más información [[http://www.yiiframework.com/doc-2.0/guide-concept-configurations.html#environment-constants|aquí]]