現在、ブートストラップ中にWebサイトのナビゲーションを初期化しています。1から3のナビゲーションオブジェクトを初期化します。ほとんどのリクエストにはNavigationオブジェクトが必要ですが、必要ないものもあります。ダウンロードおよびJSONリクエスト用に生成されたファイルを含まないもの。ナビゲーションオブジェクトを使用しないときに生成する作業はしたくありません。
私は2つの異なる可能な解決策のタイプを見ます:
- ナビゲーションを必要としないルートを指定し、ブートストラップ中にそれらを確認します
- ナビゲーションを遅延ロードする
許容できる解決策として、私はこの問題を解決するための詳細を探しています。リストしていないソリューションタイプにも興味があります。
解決
FinalFormの回答を受け入れていますが、探していた詳細がありませんでした。これが私が取ったステップです:
- ナビゲーションオブジェクトごとに、データベースモデルクラスに1つの遅延読み込み関数を作成しました
Navigation
- 対応するブートストラップコードを各関数に移動しました
- ブートストラップに私の
Navigation
モデルのインスタンスを追加しましたZend_Registry
- のように
View
参照を変更しました$this->siteNav
Zend_Registry::get('nav')->getSiteNav()