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

时间:2015-02-02 13:52:19

标签: php dry class-attributes

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

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

这个HTML文件在几个上下文中使用,所以我用PHP包含一个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>

我的问题是,在重复代码或将PHP插入HTML文件之间进行平衡时,最佳做法是什么 - 多少重复是可以的,HTML的深度是否可以掩盖PHP代码片段?

例如,以下分离度更好吗? PHP并没有深入到HTML中,但是我需要在PHP文件中重复更多代码,以便每次都生成div元素。

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

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

1 个答案:

答案 0 :(得分:1)

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