Configuración de Laravel 4 – Parte I

Luego de ya haber instalado Laravel, el siguiente paso es realizar las configuraciones básicas para que podamos empezar a trabajar. Es algo bastante simple de realizar, por lo cual dudo que tengan problema alguno.

Al igual que la gran parte de los framework que he probado, los archivos de configuración vienen separados de acuerdo a lo que se desea configurar.

En el caso de Laravel los archivos de configuración se encuentran en ‘app/config’. Los nombres son descriptivos, por lo que con una rápida mirada podrán darse cuenta que es lo que configura cada archivo. Cada archivo PHP es un simple array, y lo que me agrada bastante es que cada par de valores está documentado, indicándonos claramente las opciones disponibles y que labor realiza específicamente.

En esta entrada no voy mencionar todos los archivos de configuración y sólo me centraré en los más básicos.

CONFIGURACIÓN DE LA APLICACIÓN: APP.PHP

  • debug: true | false : si ya han jugado un poco con Laravel se habrán dado cuenta que cuando se genera un error o advertencia de cualquier tipo, en pantalla se genera un reporte MUY completo en el cual detalla el error generado, con datos tan valiosos como la línea donde se genera, datos POST o GET enviados y un stack trace de la aplicación. Por defecto debug viene activado – true -, pero si lo desactivan – false – el completísimo reporte de error desaparece y sólo muestra un mensaje diciendo que algo salió mal sin información alguna. Siempre debe estar en ‘false’ si la aplicación sale a producción, no hay que entregarle pistas a un atacante que intenta buscar bugs.
  • url: la deben configurar de acuerdo a la raíz de tu aplicación. Es sólo útil cuando trabajan con herramientas vía consola con Artisan como generadores automáticos CRUD.
  • timezone: la zona horaria debe ser configurada de acuerdo a las necesidades de cada uno. En mi caso – soy de Chile, Santiago – utilizo America/Santiago para la mayoría de mis proyectos. Pueden obtener su zona horaria correspondiente desde la documentación de PHP y como tip, recomiendo esta lectura para trabajar con fechas en sus proyectos.
  • locale: indica el idioma que por defecto utilizará la aplicación. Esto significa, que cuando trabajan con Localización puedan configurar otro idioma inicial que no sea el inglés. Este nombre, hace referencia a la carpeta ‘en’ ubicada en ‘app/langs‘. Si desean implementar el idioma español, basta crear la carpeta ‘es’ y configurar el mismo nombre en locale.
  • fallback_locale: determina que ‘locale‘ se utilizará en el caso de que el ‘locale‘ que definimos arriba no se encuentre disponible.
  • key: es la llave ultra-mega secreta para encriptar datos en sus aplicaciones. Puede ser cualquiera que ustedes deseen, pero debe ser lo suficientemente larga y al azar, algo así como aT312fFJ65Ls6f74DSf3Laravel viene con un generador de key, abran la consola y dentro de la carpeta del proyecto escriban:
    php artisan key:generate

    Automáticamente Laravel modificará el archivo e incluirá la llave generada. Es muy importante que al momento de llevar a producción la aplicación generar una llave nueva.

  • providers: lista de servicios que serán cargados de manera automática en cada llamada. Se utiliza cuando instalan paquetes externos.
  • manifest: lista de servicios que pueden ser cagados sólo cuando son necesarios. No es interés por el momento.
  • aliases: lista de alias que son cargados cuando sólo son necesarios y permiten llamar a las clases de manera directa, como por ejemplo Route::, View::, etc.

CONFIGURACIÓN DE LA BASE DE DATOS: DATABASE.PHP

  • fetch: indica como Laravel devolverá los datos obtenidos desde la base de datos. Por defecto los devuelve como un objecto del tipo stdClass de PHP – objeto de datos en PHP -. Por ejemplo si desean que devuelva los datos en un array deberán cambiar el valor a PDO::FETCH_ASSOC. Pueden revisar la documentación de PHP para ver otros métodos de extracción.
  • default: configuran que conexión utilizará la aplicación de las que se encuentran listadas en connections.
  • connections: lista de conexiones disponibles para la aplicación. En cada una se encuentra la típica  configuración necesaria para que Laravel puede tener acceso a la base de datos.
  • migrations: indica la tabla en la cual Laravel tendrá control sobre las migraciones que se realizan en la base de datos. Más adelante veremos de que tratan las migraciones, pero en palabras simples es un control de versión de la base de datos.
  • redis: datos básicos para poder configurar Redis en el caso que lo utilicen como caché de la aplicación. Es útil cuando se trabaja con aplicaciones de alta concurrencia.

CONFIGURACIÓN DE AUTENTICACIÓN: AUTH.PHP

  • driver: indicamos que controlador utilizaremos para realizar la autenticación en nuestra aplicación mediante la clase Auth  – todo este archivo de configuración hace referencia a esa clase – de Laravel. La opción database indica que se utilizará el query builder del framework, mientras que la opción eloquent indica que utilizará el ORM de Laravel. ¿Diferencia alguna a nivel de rendimiento?: no debería, los ORM se comportan bastante bien con consultas livianas, por lo cual pueden utilizar el que más les parezca, ya que la verdad no hay diferencia alguna al programar un login.
  • model: Si utilizan eloquent como controlador esta opción debe estar configurada con el modelo que represente la tabla de usuarios donde Laravel irá a validar si los datos ingresados son válidos o no lo son. Por lo general siempre es User y debe contener el mismo nombre del modelo que ustedes hayan creado en ‘app/models’.
  • table: por el contrario, si utilizan database esta debe ser la tabla donde almacenan a sus usuarios y donde Laravel hará la comprobación de datos.
  • reminders: la clase Auth incluye una implementación para poder recuperar una contraseña y es aquí donde ustedes deben configurar en primera instancia la vista que se enviará por correo – email -, la tabla donde serán almacenadas las llaves de cada recuperación – table – y el tiempo de vida de cada recuperación de contraseña – expire -.

Con eso terminamos la primera parte de los principales archivos de configuración de Laravel, en la próxima entrada hablaré de cache, mail y session.

ACTUALIZACIÓN: Configuración de Laravel 4 – Parte II

ACTUALIZACIÓN 26/05/2014: Se agregaron nuevos valores de configuración incluidos en Laravel 4.1.

Anuncios

Deja un comentario (puedes utilizar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s