<;之间是否存在速度差;?php echo$var&燃气轮机;以及<=$var?>;?

<;之间是否存在速度差;?php echo$var&燃气轮机;以及<=$var?>;?,php,syntax,php-shorttags,Php,Syntax,Php Shorttags,这两个版本的速度有什么不同吗 <?php echo $var; ?> <?=$var?> 你推荐哪一种?为什么?不,它们是相同的。如果您喜欢大量键入,请使用,否则只需使用节省时间,从技术上讲,解析器必须解析较长版本的每个字符,并且每次传输都会有几个字符 如果您的Web服务器没有“预编译”(即:缓存标记化的PHP页面),那么性能会略有差异。这应该是无关紧要的,除非您开始谈论数十亿次运行。从性能角度看,这是无关紧要的 正确的用法是使用较长的,因为它更便于携带。个人我做

这两个版本的速度有什么不同吗

<?php echo $var; ?>

<?=$var?>


你推荐哪一种?为什么?

不,它们是相同的。如果您喜欢大量键入,请使用
,否则只需使用

节省时间,从技术上讲,解析器必须解析较长版本的每个字符,并且每次传输都会有几个字符


如果您的Web服务器没有“预编译”(即:缓存标记化的PHP页面),那么性能会略有差异。这应该是无关紧要的,除非您开始谈论数十亿次运行。

从性能角度看,这是无关紧要的


正确的用法是使用较长的,因为它更便于携带。个人我做的是较短的一个。

在PHP5.3中,短标记ASP样式支持将被弃用,请尝试避免这种情况,并将代码重写为
。我认为第二个要求将短标记(在php.ini中)设置为true


这意味着它有可能在某些Web服务器上被关闭。

性能差异无关紧要。此外,使用APC时,性能差异为零、空、nada

短标记在XML中是有问题的,因为

你推荐哪一种

两者都不是,除非你真的想允许HTML注入。(99%的情况下,你不会。)



或者定义一个使用较短名称的echo(htmlspecialchars($arg))函数,以避免所有键入操作。

速度差异取决于您键入这9个额外字符的速度。
它还可以提高代码的可读性,但这是有争议的


如果你在谈论执行速度时没有明显的区别。

不要试图用这些来优化,这是没有用的。相反,停用allow_short_标记(因为加载XML文件时出现问题),并编写干净、可读和可理解的代码

即使有轻微的差异(肯定低于10%),也可以使用它进行优化。如果脚本速度慢,请首先查看循环。大多数情况下,通过优化程序流比使用奇怪的语法可以获得更多的性能。

这两行代码是相同的。 我添加了一个迟来的答案,因为还没有人证明这一点,但答案是明确的不,没有性能差异,特别是因为PHP执行这两行代码的方式没有任何差异



解释器在这两种情况下都会看到相同的代码。解析器产生完全相同的结果,因为
我喜欢简短的语法。它更干净。当你有几十亿次运行时,你无论如何都不会/不应该使用PHP。@tstenner:Facebook不同意你的观点。投入足够的硬件。。。有时,开发人员的时间可能比更多的硬件更昂贵,如果可以简单地通过硬件进行扩展,那么重构所有代码以获得更好的性能是不明智的。尽管如此,他们还是使用php优化器……我认为,通过键入更少的字符来节省时间,从而使代码更快地投入生产,这将大大抵消应用程序生命周期中微不足道的性能损失。@meagar让我重新表述一下这一点。我宁愿使用性能良好的代码,也不愿使用打字速度更快的代码。欲速则不达。简短的代码本身可能无关紧要,但在一个有一百万条记录的循环中,肯定会有一些性能问题。PHP的另一个好主意是|据我所知,它并没有被删除,只是默认关闭了。这是有区别的。这使得答案或多或少是模糊的。很好,不会的。PHP的短标签从来没有上过砧板,请,请停止传播这种错误信息。考虑删除的唯一标记是ASP样式的标记:
。此时,我已将所有变量清理干净且安全:)。。所以我只需要把它打印出来。@bobince这是一个严重的妄想症。。。您是否在所有变量上都使用htmlspecialchars()。@jcinacio-如果变量被回送到客户端,并且没有被有意构造为包含HTML,那么您确实应该首先对其进行编码。这可能是一个非常严重的安全问题。@jcinacio:是的,当然(除非我明确需要输出原始HTML,这是比较少见的)。所有文本到HTML的输出都必须转义,就像所有文本到SQL的输出一样。如果只漏掉一个,就会有一个安全漏洞,所以即使是已知的安全变量,也最容易始终使用它。@bobince:在已转义的html变量上使用htmlspecialchars是一个错误。您将获得双编码输出(例如>将转换为&;gt;,然后将显示为而不是>),我始终使用缩写形式。如果我需要在未启用代码的地方运行代码,或者在需要运行XML代码的时候运行代码(这两种情况都没有发生过),那么s/@cletus就是一个简单的例子:恕我直言,你根本就不懂frikin的意思。@vartec恕我直言,PHP作为没有短开放标记的模板语言是无用的。没有令人信服的理由不使用它们。@vartec是的,我有,我的评论中没有其他建议。你有什么看法吗?@vartec编写PHP模板的最佳语言是PHP,而且一直都是PHP。重要的是将业务逻辑与表示逻辑分开,如果您正在编写模板文件,那么您已经在这样做了。完全有可能实现这种分离,而无需诉诸于书面形式。如果您需要通过这种方式人为地削弱自己,以避免将业务逻辑转储到模板中,那是您的错,而不是PHP的错。10%比使用
所遭受的实际性能损失高出许多数量级,这是不正确的<代码>自PHP5.4以来,这不再是事实
<?php echo htmlspecialchars($var); ?>
# CASE 1
<?php echo $i %>

# CASE 2
<?= $i ?>
case 1
AST_STMT_LIST
    0: AST_ECHO
        expr: AST_VAR
            name: "i"
case 2
AST_STMT_LIST
    0: AST_ECHO
        expr: AST_VAR
            name: "i"
<?php
require('util.php');

echo "case 1\n";
echo ast_dump(ast\parse_code('<?php echo $i ?>', $version=50));

echo "\n";

echo "case 2\n";
echo ast_dump(ast\parse_code('<?= $i ?>', $version=50));

echo "\n";