代码之家  ›  专栏  ›  技术社区  ›  Ryan Florence

结束陈述;或不?

  •  5
  • Ryan Florence  · 技术社区  · 15 年前

    PHP允许我:

    Hello, my name is <?php echo $name ?>, and stuff.
    

    这样可以代替吗

    Hello, my name is <?php echo $name; ?>, and stuff.
    

    我知道 <?= ?> 被带走了,这是被杀的另一条捷径吗?

    3 回复  |  直到 15 年前
        1
  •  11
  •   Jason    15 年前

    技术上来说没问题,但大多数人都会反对。这是一个“最佳实践”问题。如果你习惯于在这样的一行代码中去掉分号,那么你很可能会忘记在代码的更大部分中使用分号。 必修的。

        2
  •  0
  •   Jed Smith    15 年前

    我不指望它是合法的,因为像这样的事情是合法的:

    <?php
        if($do_display) {
    ?>
        <div id="display">
        </div>
    <?php
        }
    ?>
    

    在我看来,这是一种糟糕的页面设计方法,但是……因为这是合法的,它会让我相信解析器状态保持在块之间,所以您的快捷方式可能只适用于一个块。这是一个未经检验的直觉,但受过教育。(如果现在有效,可能不会很快,我们会看到发生了什么。 <?= ?> 也可以直接把分号放进去,用分号覆盖一下。

        3
  •  0
  •   Azeem.Butt    15 年前

    这不是一条捷径,而是一个不好的习惯,口译员做得不够让人气馁。