Optimización de páginas en Zend Framework

Publicado por & archivado en PHP, Programación.

Zend Framework utiliza el sistema Modelo-Vista-Controlador, esta arquitectura separa los datos de la lógica de negocio. Para ello ZF propone la construcción de tres Componentes distintos:

Modelo: Recupera los datos, por ejemplo de una BBDD MySql.
Controlador: Utiliza los datos recuperados por el modelo.
Vista: Muestra los datos ya tratados por el controlador.

De tal manera que cada vez que hacemos una petición a ZF, este debe realizar numerosos pasos y consultas antes de mostrar el contenido en un archivo html, consumiendo  tiempo y recursos.

Si queremos  optimizar la carga de páginas, una buena opción es cachearlas usando Zend_Cache, este lo que hace es generar un archivo .html final que almacena en sus sistema de archivos, de esta manera cada vez que realicemos una petición, carga el .html final i evita volver a generarlo con nuestro sistema de VMC (Vista-Modelo-Controlador).

Para ello, primero debemos configurar que queremos que funcione bajo Zend_Cache, pudiendo configurar donde se guardaran los archivo .html y que vistas y actions queremos que se cacheen.

Observemos el siguiente ejemplo:

Este código se implementa en el bootstrap:

<?php

$frontendOptions = array(
‘lifetime’ => 3200,
‘debug_header’ => true,
‘regexps’ => array(
‘^/$’ => array(‘cache’ => true),
‘^/index’ => array(‘cache’ => true) ,

‘^/home => array(‘cache’ => true)
),
‘default_options’ => array(
‘make_id_with_post_variables’ => true,
‘make_id_with_cookie_variables’ => true,
‘cache_with_cookie_variables’ => true
)
);

$backendOptions = array( ‘cache_dir’ => ‘/tmp/zend_cache’);
$cache = Zend_Cache::factory(‘Page’, ‘File’,$frontendOptions, $backendOptions);
$cache->start();
?>

En este ejemplo se están cacheando los controladores index y home y que el directorio donde guardará las páginas cacheadas será /tmp/zend_cache.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies de terceros para recoger información sobre sus visitas y su uso de nuestra web. En caso de continuar navegando por esta web entenderemos que acepta el uso de estos dispositivos. Más información: Política de Cookies .

ACEPTAR
Aviso de cookies
Artimedia