我目前正在问自己关于<?php ?>
代码
有些人会这样使用它们:
<?php
$value = "2";
echo "test".$value."tested";
?>
有些人这样做:
<?php $value = 2; ?>
test<?php echo $value ?>tested
我还没有发现任何重大差异吗?
我做了一些性能测试,最大的差异是17%(这可能是正常的波动)
答案 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的小片段,那么首选方法二。
通常人们应该关心他们的代码及其可读性,然后关注优化和性能。你永远不应该为了可读性/代码质量而交易性能(幸运的是,这两者在大多数情况下是相辅相成的),特别是在不相关的情况下,例如较短的语法。