【问题标题】:Zend Framework: Initializing Navigation in the BootstrapZend 框架:在引导程序中初始化导航
【发布时间】:2011-07-12 14:10:16
【问题描述】:

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

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

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

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


解决方案

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

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

【问题讨论】:

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


    【解决方案1】:

    一直延迟加载,老兄。

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

    • Specify routes that don't need the navigation 混在一起听起来很笨拙。

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

    或创建custom view helpers 来开发您的导航。

    【讨论】:

    • 感谢您概述使用延迟加载的原因。但是,我仍然不清楚实现延迟加载的具体细节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多