1

このような2つのタブを含むHTMLファイルがあります(他の多くのものに加えて):

<div id="tabs">
    <div id="tab1" class="">Tab 1</div>
    <div id="tab2" class="">Tab 2</div>
</div>

この HTML ファイルは複数のコンテキストで使用されるため、Don't Repeat Yourself の原則に違反しないように、PHP に 1 つの HTML ファイルを含めるのが合理的です。

さまざまな条件に応じて、これらのタブは、ページの読み込み時に異なるクラスを持つ必要があります。これは、PHP を介して実現されます。

$tab1Class = 'active';
$tab2Class = 'inactive';

また

$tab1Class = 'inactive';
$tab2Class = 'active';

この混合 HTML と PHP を使用すると、次のようになります。

<div id="tabs">
    <div id="tab1" class="<?php echo $tab1Class;?>">Tab 1</div>
    <div id="tab2" class="<?php echo $tab2Class;?>">Tab 2</div>
</div>

私の質問は、コードの繰り返しと HTML ファイルへの PHP の挿入のバランスを取る必要がある場合にベスト プラクティスと見なされるものは何ですか?どのくらい繰り返しても問題なく、PHP スニペットを埋め込んでも HTML の深さはどれくらいですか?

例えば、以下の分離度の方が良いでしょうか?ここでは、PHP が HTML に深く埋め込まれているわけではありませんが、div要素を毎回生成するために PHP ファイルで繰り返さなければならないコードが他にもあります。

<div id="tabs">
    <?php echo $tabs;?>
</div>

それぞれのケースで個別に判断する必要があるというのが一つの答えかもしれませんが、多かれ少なかれ一般的に受け入れられている原則があれば教えていただければ幸いです。

4

1 に答える 1

1

CSSクラスだけを印刷する私見の最初のアプローチの方が優れています。これを新しいレベルに引き上げたい場合は、Smarty や Twig などのテンプレート エンジンの使用を検討してください。そうすれば、ロジック (コード) をプレゼンテーションから完全に区別できます。

于 2015-02-02T14:00:38.030 に答える