【问题标题】:Efficiency of using a function to output html tags in phpphp中使用函数输出html标签的效率
【发布时间】:2010-01-28 03:37:11
【问题描述】:

为了想出一种基本的方式来以一种易于维护的方式显示代码,我想到了做这样的事情:

echo htmlfunction('a',array('href'=>'http://google.com'),'google');

生成:

<a href="http://google.com">google</a>

这将用作一个全局缩放函数来输出 all html 标记。那样的话,如果我想改变我的 html 的显示方式,我可以通过一个调整轻松地做到这一点。

使用这种输出是否意味着性能敏捷性的严重损失?

谢谢。

【问题讨论】:

    标签: php html function tags


    【解决方案1】:

    不,但你会以错误的方式重新发明轮子。

    不要写echo title("bar"); 来回显&lt;title&gt;bar&lt;/title&gt;,而是使用模板引擎在静态HTML 模板中输出您的动态数据,看起来像&lt;title&gt;$title&lt;/title&gt;,您的代码有$template-&gt;assign('title','bar');

    这样您就可以将标记作为标记,将代码作为代码保存在单独的文件中,这至少在可维护性和灵活性部门是一个有价值的目标。

    例如,查看Smarty

    【讨论】:

    • 同意。在将标记保留在代码中的同时,想出一些“很好维护”的东西是非常困难的。某种程度的分离通常是关键。
    【解决方案2】:

    在大多数情况下,我会避免编写这样的函数。请注意,编写的代码比实际输出的代码多。这也是服务器每次都需要进行的额外处理。一开始它可能不会是一个巨大的性能问题,但如果过度使用,它可能会很糟糕。

    如果你想从逻辑中抽象出表示,我可以推荐一个模板引擎,比如Smarty

    【讨论】:

      【解决方案3】:

      不,它不会导致敏捷性的严重丧失——它可能几乎不会引起注意。许多 PHP 内容管理系统(例如 Drupal 和 Joomla)对其所有链接都执行相同的操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-15
        相关资源
        最近更新 更多