====== 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í]]