3

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

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

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

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


解决方案

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

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

1 回答 1

2

懒加载一路老兄。

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

  • 弄脏了Specify routes that don't need the navigation听起来很笨拙。

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

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

于 2011-07-12T14:25:07.087 回答