【问题标题】:Multiple PHP tags多个 PHP 标签
【发布时间】:2012-06-11 11:56:44
【问题描述】:

这只是一个普通的 PHP 问题。在我的脚本中包含多个 <?php CODE ?> 是有益还是有害?

我只是在查看我的一些脚本,并注意到其中一些脚本中有 3-4 个。不知道这是否会导致我的网站运行缓慢:)

【问题讨论】:

标签: php coding-style


【解决方案1】:

不,它不会导致任何缓慢或问题。在模板中包含 几十个数百个 单独的 <?php ?> 块是很常见的。

【讨论】:

    【解决方案2】:

    我猜你的意思是多个 PHP 开始和结束标签。

    如果您想回显一大块 HTML 标记,最好关闭 php 标记 ?> 然后在需要时重新启动它。例如:

    <?php
    if($ok) {
        ?> A large
        block
        HTML MarkUp text
     <?php
    } //End of if($ok)
    ?>
    

    它实际上提高了速度,因为控件不会解析上述所有大块,而是直接跳到下一个

    【讨论】:

    • 我个人更喜欢&lt;?php if ($ok): ?&gt; lots of html &lt;?php endif ?&gt;。但是,是的。这也有效。 :)
    • @cHao 那么,是在使用三元运算符的某种/变体吗?我问是因为:在您的代码中。
    • 那是PHP's alternative syntax for control structuresif ($x): /* stuff here */ endif; 在功能上等同于 if ($x) { /* some stuff here */ },但 endif 明确表示“我正在关闭 if 块”(而 } 表示“我正在关闭最后一个打开的语句”)。更容易做对,IMO。特别是当您使用它来输出大块 HTML 时(语句的开头可能不再出现在屏幕上)......或者定期切换进出 PHP 模式。
    【解决方案3】:

    您可以在documentation 阅读有关此内容的信息。

    【讨论】:

    • 我知道这是一个旧评论,但我反对它,因为链接的文档不谈论性能,而只谈论转义机制。
    【解决方案4】:

    不,它不会造成任何伤害,但如果你这样做,例如:

    <div><?php echo $x; ?></div>
    

    您可以使用短标签(如果在您的 php 配置中启用)

    <div><? echo $x; ?></div>
    

    如果你想尝试减少 php 标签的数量,你甚至可以像这样回显你的 html:

    echo '<div>'.$x.'</div>';
    

    【讨论】:

    • 不鼓励使用短标签,因为许多服务器没有启用它们。请注意安全并使用普通的,当迁移到另一台服务器时,您不想在应用程序范围内替换它们而无法更改该特定设置。
    • 我认为最后的解决方案与他想要的完全相反。这样做,php 解释器将生成整个 html 页面,这比只做一些小改动要慢。不是吗?
    • 我个人从未使用过短标签,但我认为 OP 可能会喜欢这个选项。
    • @Robinv.G.只要您意识到 (1) 它们不是通用的,因此它们不应该在库中使用,并且 (2) 与 XML/SGML PI 混淆时它们可能会导致问题,那么短标签就没有问题。不过,对于一般网站来说,它们很好。如果您无法更改服务器配置,请获取新服务器。
    • 您有没有想过共享主机?如果短标签在客户托管时出现问题,则您必须更换所有这些短标签。一开始就不需要使用它们。
    【解决方案5】:

    如果你在 html 页面中使用它(我认为你有多个 PHP 块),这是正常的,我认为没有办法避免它。

    如果您有外部脚本,则没有理由拥有多个块。虽然我认为这不会影响性能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 2012-08-24
      • 2010-09-13
      • 2020-08-19
      • 1970-01-01
      相关资源
      最近更新 更多