2011-10-20 10 views
-1

多くの場合、バナー、フッターのように一般的に使用されるいくつかのセクションを別々のファイルに分割する必要があり、後でこの部分を$this -> render('banner.phtml')としてください。

これを広範囲に使用すると、パフォーマンスにどのくらいの費用がかかりますか?

答えて

1

パフォーマンスに何らかの悪影響があるとは思わない。私は非常に大規模な製品に取り組んでおり、さまざまなことを扱うために私のプロジェクトでは広く$this->render()を使っています。あなたが共通のレイアウトを持っていない場合は、この機能に頼らなければなりません。しかし、あなたがプロジェクト全体を通して共通のレイアウトを持っているなら、これは必要ありません。したがって、render機能の使用については心配しないでください。

1

Zend_View_Abstractのコードを見ると、複数の呼び出しがあっても問題ありません。 render()は本質的に:

  • スクリプトを検索します。あなたが持っているスクリプトパッチごとに1つの操作。
  • ob_start()ob_get_clean()でカプセル化されたファイルを実行します。パフォーマンスの問題は発生しません。
  • 出力で各フィルタを実行します。

何百ものスクリプトパスやフィルテールが追加されていない限り、パフォーマンスは問題ありません。ただし、特にネストされたrender()コールでは、(スタックされた出力バッファのために)より多くのメモリが必要です。

もちろん、とにかく可能な限りキャッシュしたいと思っています。ほとんどのrender()コールを1回だけ実行します。

関連する問題