我目前在引导期间初始化我的网站导航。我在任何地方初始化 1 到 3 个导航对象。大多数请求都需要 Navigation 对象,但有些则不需要。那些不包括为下载和 JSON 请求生成的文件。我不想在不使用导航对象时进行生成导航对象的工作。
我看到两种不同的可能解决方案类型:
- 指定不需要导航的路由,并在引导期间检查这些路由
- 延迟加载导航
对于可接受的解决方案,我正在寻找解决此问题的细节。我对未列出的解决方案类型感兴趣。
解决方案
我正在接受 FinalForm的答案,但它没有我正在寻找的细节。以下是我采取的步骤:
- 创建了一个 lazy loading在我的
Navigation
数据库模型类中为每个导航对象运行 - 将相应的 Bootstrap 代码移动到每个函数
- 将我的
Navigation
模型实例添加到 Bootstrap 中的Zend_Registry
- 将
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/