HTML 属性和 PHP - 在相互冲突的原则之间划清界限

HTML attributes and PHP - where to draw the line between conflicting principles

我有一个 HTML 文件,其中包含两个像这样的选项卡(除了很多其他内容):

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

此 HTML 文件在多个上下文中使用,因此我将一个 HTML 文件包含在 PHP 中似乎是合理的,以免违反“请勿”重复自己的原则。

根据不同的条件,这些选项卡在页面加载时需要具有不同的 类。这是通过 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>

我的问题是,当必须在重复代码或将 PHP 插入 HTML 文件之间取得平衡时,什么才是最佳实践 - 重复多少是可以的,在 [=34 中插入多深=] 可以埋葬 PHP 片段吗?

比如下面的分离度是不是比较好? PHP 并没有像这里的 HTML 那样深埋,但是我必须在 PHP 文件中重复更多代码才能生成 div 元素每次。

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

我知道一个可能的答案是,这是必须针对每个案例单独决定的事情,但如果有任何原则或多或少被普遍接受,我会很高兴听到它们。

恕我直言,只打印 css 类 的第一种方法更好。如果你想把它提升到一个新的水平,考虑使用一些模板引擎,比如 Smarty 或 Twig。这样您就可以将您的逻辑(代码)与您的演示文稿完全区分开来。