У меня проблема с дизайном в приложении Zend, и я не понимаю, куда мне подключить эту функцию, чтобы правильно интегрировать дизайн в Zend Framework.
То, что я хочу, это отобразить внутриНа каждой общедоступной странице моего приложения есть статистика, например, количество записей в базе данных (например, количество пользователей).Мне нужно иметь специальную функцию для этого вычисления, так как я хочу кэшировать его результат.
Я должен добавить, что часть моих действий действует как ресурсы JSON REST (для целей AJAX), в то время как другие ведут себя какобщие динамические страницы HTML (таким образом, установка объекта во всех представлениях не идеальна).
Я думаю о следующих решениях:
- Добавление плагина контроллера, который был быустанавливая объект, содержащий мои значения статистики, внутри Zend_Registry, этот плагин будет обрабатывать кеш
- Добавление в мои модели функции, позволяющей вычислять эти характеристики.Это будет означать, что функция будет разбита на все мои модели (что на самом деле не является чистым дизайном), эти модели будут кэшировать некоторые значения (что не является их работой TMHO), и это заставит эти вычисления запускаться представлением (я обычнопозвольте контроллеру загрузить значение внутри представления)
Есть ли у кого-нибудь какие-либо предложения или комментарии по поводу более чистого решения?
Мои критерии:
- Интеграция в философию проектирования Zend Framework
- Соблюдение целостности модели (значение кеша означает неточное значение)
- Избегание обходных путей, таких как использование статических ресурсов, таких как Zend_Registry