Habilitar modo desarrollador en CodeIgniter 4
El archivo .env es un archivo de configuración común utilizado en muchos frameworks web y en CodeIgniter 4 no es la excepción; este archivo se utiliza para almacenar variables de entorno que se necesita acceder en la aplicación, como la base de datos, acceso a APIs que nosotros hayamos credos, entre otros; podemos crear varios tipos de .env dependiendo del entorno y es particulamente útil en equipos de trabajo en los cuales cada integrante del equipo requiere tener claves distintas.
Empecemos por el punto más importante en este capítulo, o al menos el más básico, el de poder ver los errores que van a suceder cuando desarrollamos la aplicación. Antes de esto, para entender la importancia de habilitar este modo, vamos a ocasionar un error de sintaxis en nuestra aplicación para ver que sucede; en el archivo:
App\Controllers\Home.php
Que tenemos:
<?php
namespace App\Controllers;
class Home extends BaseController
{
public function index()
{
return view('welcome_message');
}
}
Quitemos un ";" para el view('welcome_message') y al ir a nuestra app:
Veras que nos dice que ocurrió un error, pero no el dónde: para ver, qué está sucediendo, tendríamos que consultar un archivo log que está en:
\peliculas\writable\logs
Ver el último log y detallar las primeras líneas para saber qué es lo que está pasando:
CRITICAL - 2022-01-15 15:07:15 --> syntax error, unexpected '}', expecting ';'
En este caso, el error que ocasionamos de manera intencional; obviamente, consultar este archivo cada vez que tengamos un error es un pequeño dolor de cabeza, lo ideal sería que el error apareciera por pantalla cuando estamos en modo desarrollo.
Ver los errores en el archivo log es ideal para manejar la app cuando estamos en ambiente de producción, ya que el detalle de los errores nos queda a nosotros los desarrolladores y con esto evitamos dar detalles sobre la estructura de nuestra aplicación a un usuario que pudiera aprovechar el detalle del error para explotar una vulnerabilidad en la aplicación.
Para habilitar el modo desarrollador, basta con renombrar el archivo llamado "env" que se encuentra en la raíz de nuestro proyecto por ".env", es decir, agregar un punto delante:
.env
Entrar en dicho archivo, y descomentar:
# CI_ENVIRONMENT = production
Por:
CI_ENVIRONMENT = development
Y recuerda cambiar "production" por "development"
Ya con esto, si vamos a la página con el error, veremos el detalle en la pantalla:
Los archivos .env, son empleados para crear variables de entorno del proyecto; configuraciones estándar como la base de datos, url base, entre otras del proyecto y personalizadas por ti (podemos crear variables personalizadas que no existan en el proyecto por ejemplo, para credenciales de PayPal, Stripe, etc).
Aunque, debes de tener en cuenta que configuraciones estándar como las mencionadas anteriormente, las cuales tienen su equivalente en archivos de configuración, al usar la aplicación de producción, deben de ser removidas del .env para usar la de su correspondiente el los archivo de configuración; en caso de que sea necesario para tu proyecto, el archivo .env puede también existir en ambiente de producción (u otros ambientes que determines para tu proyecto).
A la final, las variables de entorno, son variables dinámicas que afectan el comportamiento del sistema y pueden existir en distintos ambientes.
Recuerda revertir el error que colocamos de manera intencional.
- Andrés Cruz
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter