Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2010, 22:01
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Zend_Cache y Zend_Db_Table_Abstract

Que tal compañeros, estoy trabajando en una aplicación la cual en ocasiones tiene que realizar varias peticiones a la DB, pero me di cuenta que en cada petición Zend_Db_Table_Abstract realiza un "DESCRIBE" aun cuando ya se realizo una petición anterior, buscando en la documentación de Zend Framework he visto que Zend_Db_Table_Abstract puede cachear los metadatos de la tabla de la DB, siguiendo el ejemplo logre cachear los metadatos, PERO, mi problema es que hay que modificar cada modelo y agregar al método "construct" dicha configuración, ahora, mi aplicación es bastante compleja y tengo bastantes modelos, y no creo que sea tan "limpio" modificar manualmente todos los modelos, mi pregunta es, alguien sabe como se puede configurar Zend_Cache en el Bootstrap para cachear los metadatos de Zend_Db_Table_Abstract...

El método que utilizo es el siguiente
Código PHP:
Ver original
  1. class Model_MiModelo extends Zend_Db_Table_Abstract
  2. {
  3.         protected $_name = 'nombre_de_la_tabla';
  4.         protected $_primary = 'id';
  5.  
  6.         public function __construct() {
  7.             parent::__construct();
  8.  
  9.             $frontendOption = array(
  10.                 'automatic_serialization' => true
  11.             );
  12.  
  13.             $pathCache = APPLICATION_PATH.'/cache';
  14.            
  15.             $backendOption = array(
  16.                 'cache_dir'=>$pathCache
  17.             );
  18.  
  19.             $cache = Zend_Cache::factory('Core','File',$frontendOption, $backendOption);
  20.             Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
  21.         }
  22.          
  23.         //Otros métodos y demás código de la clase
  24. }

Agradezco cualquier comentario al respecto

Nota: Claramente utilizo la versión 1.10 de Zend Framework
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)