Configuración Básica de Proyectos en Yii con Variables de Entorno
Clase 6 de 35 • Curso de Desarrollo Web con PHP y Yii2
Resumen
¿Cómo configurar un proyecto simple en Yii?
Una vez que tienes Yii instalado en tu sistema, el siguiente paso es realizar una configuración básica para iniciar un proyecto simple. Este proceso no solo te enseñará a configurar los elementos iniciales, sino que también te orientará sobre cómo gestionar el crecimiento de tu proyecto agregando módulos y software de terceros de forma eficiente.
¿Cómo configurar la base de datos?
El primer paso esencial es configurar tu base de datos. Esto se logra a través del archivo db.php
, que es el núcleo de la configuración de la base de datos. Aquí encontrarás un arreglo que define las propiedades clave del sistema, como la clase que se necesita, el DSN (Data Source Name), el host, nombre de la base, usuario, contraseña y charset. Aunque puedes tener múltiples bases de datos, para este ejercicio nos centraremos en una sola.
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=debug_club',
'username' => getenv('DB_USER'),
'password' => getenv('DB_PASSWORD'),
'charset' => 'utf8',
];
¿Por qué usar variables de entorno?
Las variables de entorno ofrecen una forma profesional y segura para manejar información sensible como contraseñas. Crear un archivo de configuración de shell, como variables.local.sh
, permite definir variables que el sistema operativo gestiona. Estas variables no se incluyen en el repositorio, lo que asegura que información crítica no quede expuesta.
export DB_HOST=localhost
export DB_NAME=debug_club
export DB_USER=platzi
export DB_PASSWORD=Yii2Rulez
export DB_PORT=3306
Este enfoque facilita una ejecución segura y controlada de tu entorno.
¿Cómo ejecutar variables de entorno?
Para utilizar las variables definidas, se procede a ejecutarlas en la terminal. En sistemas Mac y Linux, el comando source
permite que estas variables queden disponibles en el entorno operativo. Una vez invocadas, cualquier programa ejecutado en esa terminal podrá acceder a las variables.
source variables.local.sh
echo $DB_HOST
Al ejecutar estos comandos, confirmas que las variables están asignadas y listas para ser utilizadas por aplicaciones que necesiten dicha información.
¿Cómo asegurar y formatear la entrada de datos?
Dos funciones claves en PHP son getenv
y sprintf
. getenv
se emplea para capturar el valor de una variable de entorno, mientras que sprintf
formatea cadenas, asegurándose de que datos inesperados no alteren el sistema:
sprintf("mysql:host=%s;dbname=%s", getenv("DB_HOST"), getenv("DB_NAME"))
Estas funciones no solo aseguran un formato correcto, sino que también protegen contra el ingreso de código malicioso.
¿Qué más debemos considerar en la configuración?
Además del archivo db.php
, hay otros archivos de configuración como params.php
, que contiene configuraciones generales, y composer.json
, que gestiona las dependencias del sistema. params.php
puede almacenar aspectos generales como el remitente de correos o preferencias de paginación, mientras que composer.json
te permite manejar las versiones de librerías y dependencias, asegurando compatibilidad y coherencia en el desarrollo.
Con la configuración adecuada, tu proyecto en Yii estará listo para crecer de manera organizada y segura. La clave está en la utilización eficiente de las herramientas y prácticas disponibles, asegurando que las configuraciones sean claras y estandarizadas para facilitar el mantenimiento futuro.