Necesito encontrar una mejor práctica para utilizar modelos de manera eficiente en Zend Framework.¿Cómo optimizar modelos en Zend Framework?
Actualmente, tengo clases que extienden Zend_Db_Table_Abstract
que manejan mis consultas a la tabla respectiva de cada clase.
Cuando necesito acceder digamos 5 de esas tablas desde un controlador, me encuentro creando 5 nuevas instancias de cada objeto específico Zend_Db_Table
. Esto es realmente ineficaz.
He pensado en implementar un patrón Factory para crear nuevas instancias (o proporcionar una copia estática existente) pero no estoy seguro. ¿Es esta la mejor manera de hacerlo?
¿Cuál es la forma correcta de manejar los modelos asegurando la velocidad sin consumir recursos excesivos? ¿Debería la carga lenta entrar en juego aquí?
[EDIT] A modo de ejemplo, tengo una clase que utilizo para manejar obtener detalles acerca de una ubicación a partir de una consulta de búsqueda en bruto y necesito estos objetos con el fin de analizar la consulta:
// Initialize database object
$this->dbLocations = new Model_Locations;
$this->dbStates = new Model_States;
$this->dbZipcodes = new Model_Zipcodes;
$this->dbLookup = new Model_Lookup;
En otra clase, es posible que necesite acceder a esos modelos nuevamente, así que repito el código anterior. Esencialmente la reinicialización de objetos que podría ser estático/singleton.
Su pregunta es bastante asalariada, puede mostrar un ejemplo de código en el que realmente crea instancias de 5 clases de tabla y describe para qué las necesita. – markus
Entiendo sus inquietudes, pero realmente no las sigo. Creo que crear varias instancias de una clase y especialmente una clase abstracta es una cosa específica en OOP. Cuestionar este modelo de tabla es un poco como cuestionarme completamente la POO o la herencia. –
En un nivel básico, el uso en este método es aceptable. Tengo un "manejador" personalizado, por falta de una palabra mejor ", que toma un objeto de consulta, analiza las propiedades en él y lo pasa a un controlador de ubicación que obtiene todos los datos de ubicación para esa consulta, y luego lo pasa a un En muchas fases de esto, necesito acceder a varias tablas y terminar iniciando mucho estos objetos de varias clases. Consulte esto para obtener más información: http://stackoverflow.com/questions./9116838/data-encapsulation-and-data-flow-in-php –