【问题标题】:HTML attributes and PHP - where to draw the line between conflicting principlesHTML 属性和 PHP - 在哪里划清相互冲突的原则
【发布时间】:2015-02-02 13:52:18
【问题描述】:

我有一个 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 文件之间取得平衡时,什么被认为是最佳实践 - 重复多少是可以的,以及埋藏 PHP sn-ps 到 HTML 有多深是可以的?

例如,以下分离度是否更好? PHP 在这里并没有深入到 HTML 中,但是为了每次生成 div 元素,我必须在 PHP 文件中重复更多代码。

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

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

【问题讨论】:

    标签: php dry class-attributes


    【解决方案1】:

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

    【讨论】:

    • 这一直是我的理解,因为它将 HTML 排除在 PHP 之外,这是您想要避免的。不幸的是,使用 PHP 操作 CSS(除了实际使用 PHP 本身管理 CSS 文件之外)的最佳实践文档有点薄。
    • 啊,是的,模板引擎。总有一天,我可能也必须开始沿着这条路走。 :)
    • 这比您想象的要容易。去吧! :)
    猜你喜欢
    • 2015-06-24
    • 1970-01-01
    • 2019-08-07
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    相关资源
    最近更新 更多