PHP渲染标记

时间:2014-11-24 10:18:51

标签: php performance

我目前正在问自己关于<?php ?>代码

的问题

有些人会这样使用它们:

<?php 
    $value = "2";
    echo "test".$value."tested";
?>

有些人这样做:

<?php $value = 2; ?>
test<?php echo $value ?>tested

我还没有发现任何重大差异吗?

我做了一些性能测试,最大的差异是17%(这可能是正常的波动)

2 个答案:

答案 0 :(得分:2)

PHP标记<?php?>的作用是告诉PHP应该解析哪些代码。这很有用,因为您可以将HTML和PHP混合在一起,就像您已经发现的那样。

还存在一个额外的开放标记:<?=,此标记是<?php echo的快捷方式,在您的示例中非常有用,您所做的只是从变量中输出值。它使用相同的结束标记:?>

有一个关于PHP标记和性能的有趣线程,就在这里:Opening/closing tags & performance?

在php.net上阅读有关PHP标记的更多信息:http://php.net/manual/en/language.basic-syntax.phptags.php

答案 1 :(得分:1)

从性能的角度来看:不要尝试使用这样的bagatelles来提高性能。如果您使用短标签,如果您在PHP块内渲染输出或使用多个,如果您使用一个或多或少的空格:它不重要。你会或者不会节省几毫秒,但考虑这些缺点更重要。

真正的优点是在有利可图的情况下提高绩效。大多数情况下都是这样:

  • 无法进行数据库交互
  • 不必要的迭代
  • 不存在的缓存概念
  • 配置错误的网络服务器

PHP社区似乎对最近所谓的性能改进有点意外,并提出类似的问题:&#34;我可以在这里使用空间(OMG PERFORMANCE)吗?&#34; 或者&#34;它是一个实例化许多物体的性能杀手?&#34; - 好吧第一个有点夸张,但我已经看过第二个了几次


在您的示例中,两个脚本都生成相同的输出,而仅针对该示例更喜欢第一个,因为它只是更具可读性。例如,如果您正在处理模板,有时您需要在大量HTML中替换PHP的小片段,那么首选方法二。


通常人们应该关心他们的代码及其可读性,然后关注优化和性能。你永远不应该为了可读性/代码质量而交易性能(幸运的是,这两者在大多数情况下是相辅相成的),特别是在不相关的情况下,例如较短的语法。