php - Zend 框架 : Initializing Navigation in the Bootstrap

标签 php zend-framework lazy-loading zend-navigation

我目前在引导期间初始化我的网站导航。我在任何地方初始化 1 到 3 个导航对象。大多数请求都需要 Navigation 对象,但有些则不需要。那些不包括为下载和 JSON 请求生成的文件。我不想在不使用导航对象时进行生成导航对象的工作。

我看到两种不同的可能解决方案类型:

  1. 指定不需要导航的路由,并在引导期间检查这些路由
  2. 延迟加载导航

对于可接受的解决方案,我正在寻找解决此问题的细节。我对未列出的解决方案类型感兴趣。


解决方案

我正在接受 FinalForm的答案,但它没有我正在寻找的细节。以下是我采取的步骤:

  1. 创建了一个 lazy loading在我的 Navigation 数据库模型类中为每个导航对象运行
  2. 将相应的 Bootstrap 代码移动到每个函数
  3. 将我的 Navigation 模型实例添加到 Bootstrap 中的 Zend_Registry
  4. View 引用如 $this->siteNav 更改为 Zend_Registry::get('nav')->getSiteNav()<

最佳答案

老兄,一路延迟加载。

  • 在启动时初始化导航似乎会增加整个应用程序的开销,因为并非每个页面都需要导航。

  • 处理 指定不需要导航的路线 听起来很麻烦。

您应该扩展 Zend 库来创建您自己的版本库,例如扩展核心 Controller 。在那个扩展中使用它来添加一个方法来构建你的导航。换句话说,从扩展库类中继承您的实际应用程序。

或者创建自定义 View 助手来开发您的导航。

关于php - Zend 框架 : Initializing Navigation in the Bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6665528/

相关文章:

python - 在 sqlalchemy 中延迟加载列

php - Set-Cookie 存在于 header 响应中,但在浏览器中缺失

zend-framework - 警告 : require_once(Zend/Application. php):无法打开流:/var/w 中没有这样的文件或目录

zend-framework - Zend_Form 无效但没有错误消息

java - 如何使用 JUnit 与 Spring 和 Hibernate 来模拟事务的结束以隔离 LazyInitializationException?

polymer - 在延迟加载的应用程序部件之间共享行为

PHP 在字符串中搜索电子邮件地址

php - Zend Server,phpmyadmin,这是什么

php - 如何访问函数内的变量?

php - 在 Zend Framework 中获取选定的行