2

{block} タグと {include} タグの主な違いは何ですか? どちらもテンプレートの継承に使用されていることは知っていますが、どちらがより高速に動作するか、柔軟性が向上しますか?

4

1 に答える 1

3

この{include}関数は、別のテンプレート ファイルを参照するだけで、その内容が出力のその時点に含まれている必要があります。これはいかなる種類の継承とも関係がなく、PHP のinclude/requireと関数呼び出しの間のクロスのように機能し、パラメーターを渡すことができ、変数はローカル スコープを持つことができます。

この{block}関数はTemplate Inheritanceに使用されます。サブテンプレートを巧みに使用することで効果をシミュレートできますが、基本的な考え方は大きく異なります。ドキュメントで説明されているように、親テンプレートには多数の名前付きブロックを含めることができ、子テンプレートはこれらの一部またはすべてをオーバーライドして名前で参照し、残りのコードは親テンプレートから直接取得できます。

{include}複数のページ構造に含めたいコンテンツのセクションがある場合は、テンプレートの継承が役立ちますが、構造が似ているが特定のセクションのコンテンツが異なる多くのページが必要な場合は、テンプレートの継承がより適切です。そしてもちろん、両方の混合が必要な場合もあります。

于 2013-01-13T21:00:10.553 に答える