Я изучал использование Zend_Navigation в сочетании с Zend_Acl для управления навигацией и правами доступа в новом приложении, над которым я работаю.
Одна вещь, которая меня действительно беспокоит, это то, что примеры, которые я видел, заканчиваются созданием огромного XML-файла, содержащего каждый возможный элемент навигации в приложении. Загрузка этого файла при каждом запросе кажется серьезным узким местом в производительности, и должен быть лучший способ. Я понимаю, что мог бы облегчить многое с помощью memcached или другого механизма кэширования, но мне кажется, что само приложение должно быть написано наиболее оптимальным образом, и только после этого вы добавляете кэширование. Нет смысла делать что-то медленное и раздутое и полагаться на кэширование, чтобы очистить свою грязную работу.
Я использую модульную настройку в этом приложении ZF, поэтому каждый модуль имеет уникальную начальную загрузку. Я рассматривал возможность создания XML-файлов навигации для конкретных модулей и загрузки конкретного, но я не уверен, что это лучший способ.
Каков предлагаемый метод использования Zend_Navigation в большом приложении с потенциально сотнями путей навигации?