Configuración de Laravel 4 – Parte II

Lo prometido es deuda, por lo que continuamos con la segunda parte de la configuración de Laravel 4.

En esta entrada detallo la configuración del caché, sesiones y envío de correos electrónicos.

Si aún no has leído la primera parte, te recomiendo echarle un vistazo.

CONFIGURACIÓN DEL CACHÉ: CACHE.PHP

  • driver: indica que tipo de controlador o motor de caché vamos a utilizar para nuestra aplicación. Laravel en su versión 4 tiene soporte para los siguientes sistemas:
    • File: guarda los datos serializados en un archivo.
    • Database: utiliza la base de datos y una tabla especial para conservar la información.
    • APC: es un paquete para PHP llamado Alternative PHP Cache, el cual no sólo se puede utilizar para guardar datos, si no que también acelera el funcionamiento de PHP – si se configura de manera correcta -.
    • Memcached: es un sistema de caché que trabaja en la memoria RAM, por lo cual es increíblemente rápido.
    • Redis: mismo principio que Memcache, es como así decirlo su ‘competencia’. Por lo general se suele utilizar más Memcache que Redis.
    • Array: este motor no guarda nada en disco, sólo mantiene un array interno con los datos para la consulta actual. Debe ser sólo utilizado cuando se desea realizar unit-testing de la aplicación y no en un ambiente real.

    La opción de caché que implementa Laravel es sólo para guardar datos del tipo clave:valor que ustedes indiquen. No realizará el caché de una página completa por si sólo. Podrán agregar otros motores de caché, pero tendrán que crear una clase especial para comunicar el framework con éste.

  • path: la ruta en la cual se guardarán los archivos cuando utilizan el sistema caché del tipo ‘file’.
  • connection: aquí se establece la conexión que deberá utilizar el framework si se selecciona el sistema de caché ‘database’. Esa conexión hace referencia a las listas en el archivo app/config/database.php.
  • table: nombre de la tabla donde se guardarán los datos cuando utilizan caché del tipo ‘database’. En la página de Laravel encontrarán una muestra de como debe ser la tabla para este tipo de sistema.
  • memcached: datos necesarios para conectarse a el o los servidores de Memcached en caso de utilizar este motor.
  • prefix: se utiliza para evitar colisiones de nombre cuando otras aplicaciones están utilizando APC, Memcached o Redis en el servidor. Pueden utilizar el que ustedes deseen. Claro, si van a tener dos aplicaciones con Laravel corriendo, el nombre debe ser distinto en cada una.

CONFIGURACIÓN DE SESIONES: SESSION.PHP

Las configuraciones son muy parecidas a las que podemos encontrar en caché.

  • driver: indica que tipo de controlador de sesión vamos a utilizar para nuestra aplicación. Laravel en su versión 4 tiene soporte para los siguientes sistemas:
    • Native: se utilizará el manejo de sesión nativo de PHP y los datos serán guardados como archivos en el sistema.
    • Cookie: se utilizarán cookies para almacenar los datos de las sesiones.
    • Database: utiliza la base de datos y una tabla especial para conservar la información. Para poder utilizar este método deben crear una tabla especial. Pueden crear la tabla de manera automática vía consola:
      php artisan session:table
      composer dump-autoload
      php artisan migrate
      
    • APC: se utilizará APC.
    • Memcached: se utilizará Memcached.
    • Redis: se utilizará Redis.
    • Array: al igual que expliqué más arriba, sólo debe ser utilizado para realizar unit-testing y no en en producción ni en desarrollo.
  • lifetime: tiempo de vida para la duración de los datos en minutos.
  • expire_on_close: determina si los datos serán eliminados al momento que se cierra el navegador (true) o se mantienen aunque el usuario cierre el navegador (false).
  • file: ruta para guardar los archivos de sesión cuando se utiliza el método ‘native’.
  • connection: aquí se establece la conexión que deberá utilizar el framework si se selecciona el sistema de caché ‘database’. Esa conexión hace referencia a las listas en el archivo app/config/database.php.
  • table: nombre de la tabla donde se guardarán los datos cuando utilizan caché del tipo ‘database’. [Más información]
  • lottery: probabilidad en la cual el framework cambiará la ubicación donde se guardan los datos para ciertos sistemas de sesiones, ya que algunos necesitan que esto se cambie de manera manual para deshacerse de sesiones antiguas, pero Laravel lo hace por ti.
  • cookie: nombre que tendrá la cookie en el caso de utilizar el sistema de sesión ‘cookie’.
  • path: ruta en la cual la cookie estará disponible.
  • domain: nombre del dominio para definir en la cookie.
  • secure: cookies sobre HTTPS. Las cookies sólo serán enviadas si la petición es mediante HTTPS.

CONFIGURACIÓN DE E-MAIL: MAIL.PHP

  • driver: indica que tipo de motor utilizaremos para enviar correos electrónicos desde nuestra aplicación. Puede ser un servidor SMTP, la función mail de PHP o sendmail como servicio de correo para Linux.
  • host: dirección del servidor SMTP.
  • port: puerto a utilizar para envíos vía SMTP.
  • from: configuración global del header From de los correos. Se debe configurar el correo de respuesta y el nombre de quien envía el correo.
  • encryption: indica el protocolo de encriptación a utilizar.
  • username: nombre de usuario para identificarse en el servidor SMTP.
  • password: contraseña para para identificarse en el servidor SMTP.
  • sendmail: ruta de en la cual se encuentra alojado sendmail en el caso de utilizar este método de envío.
  • pretend: cuando esta opción está activa (true), Laravel «pretenderá» enviar el correo, pero la verdad es que nunca será enviado al destinatario, si no que será almacenado en la carpeta de registros de la aplicación para su posterior inspección. Muy útil en desarrollo local.

ACTUALIZACIÓNConfiguración de Laravel 4 – Parte III

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

2 comentarios sobre “Configuración de Laravel 4 – Parte II

  1. Como podria validar que en una reserva de hotel, al seleccionar una habitacion, la pagina en ese momento le cambia el estado de la habitacion en la base, pero de pronto cierras el navegador. En este momento , el servidor deberia actualizar el estado de esa habitacion como disponible!

    Me gusta

Deja un comentario (puedes utilizar Markdown)