2013-10-31 17 views
12

埋め込みを使用するだけではないのはなぜですか?twig組み込みvs組み込み、使用する理由がある

ドキュメントによれば、埋め込みタグは、包含タグと拡張タグの動作を組み合わせています。

私は多くの場合、拡張する必要はなく、別のテンプレートの内容をレンダリングしたいと思っていますが、あなたはいつも埋め込みを使ってその目的を果たすことができるようです。知っている埋め込みのパフォーマンスの影響はありますか?機能の違いは何ですか?

+0

似たような質問 - "拡張または含まれている - Twigの方が良いですか":http://stackoverflow.com/questions/7051743/extending-or-including-what-is-better-in-twig – Isinlor

答えて

14

私は

  • どちらがHTMLコードを再利用可能なスニペット作るために小枝に加えた、従うようEmbedInclude間の相違点と類似点を要約します。
  • 両方ともテンプレートの機能分離に使用されています(フッター、ヘッダー、...)
  • 両方とも動的です。
  • Includeは、柔軟でないHTML構造を持つコードをラップするために使用されます。
  • Embedは、柔軟性を可能にします。

あなたは多くの機能サブテンプレートにテンプレートを分割して別の場所に包まれたコードを再利用する必要がある場合の違いに基づいて、Includeのみを使用する必要があります。

Embedは、再利用可能なテンプレートをカスタマイズする必要がある場合に使用されます。

だから、それはだ何よりも設計上の問題(パフォーマンス、コード実行、...)

ニーズに合わせヘルパーを選択してください。

+1

okありがとう、しかし、私の疑問は、埋め込みが柔軟性を可能にしていることです。テンプレートが柔軟な構造を必要としなくても、将来的に変更する必要がなくなります。 – DMTintner

+0

私の答えが更新されました。どこにでも埋め込みを使うことができます。私は個人的に必要なときにのみ埋め込みを使用していました。 –

+0

ありがとう、あなたは2つの間にパフォーマンスの違いはないことを確認できますか? – DMTintner