Мне нужно выяснить передовой метод для эффективного использования моделей в Zend Framework.
В настоящее время у меня есть классы, расширяющие Zend_Db_Table_Abstract
, которые обрабатывают мои запросы к соответствующей таблице каждого класса.
Когда мне нужно получить доступ, скажем, к 5 из этих таблиц из контроллера, я обнаруживаю, что создаю 5 новых экземпляров каждого конкретного объекта Zend_Db_Table
. Это действительно неэффективно.
Я думал о реализации шаблона Factory для создания новых экземпляров (или предоставления существующей статической копии), но не уверен. Это лучший способ сделать это?
Как правильно работать с моделями, обеспечивая скорость без чрезмерного потребления ресурсов? Следует ли здесь применять ленивую загрузку?
[РЕДАКТИРОВАТЬ] В качестве примера у меня есть класс, который я использую для обработки получения сведений о местоположении из необработанного поискового запроса, и мне нужны эти объекты для анализа запроса:
// Initialize database object
$this->dbLocations = new Model_Locations;
$this->dbStates = new Model_States;
$this->dbZipcodes = new Model_Zipcodes;
$this->dbLookup = new Model_Lookup;
В другом классе мне может потребоваться снова получить доступ к этим моделям, поэтому я повторите приведенный выше код. По сути, повторная инициализация объектов, которые могут быть статическими / одноэлементными.