PSR 编码标准对其大部分约定都非常明确,包括 PSR-1 中的第一个条目:
PHP code MUST use the long
<?php ?>
tags or the short-echo<?= ?>
tags; it MUST NOT use the other tag variations.
但是我们团队最近不清楚并且受到质疑的是间距,特别是对于短回波标签。我们通常会看到<?php
在文件顶部的自己的行上打开标记,或者如果它是内联语句,那么如果没有空格,它将无法解析。所以这里的规则似乎是不言自明的。
<?php
//tag followed by new line - fine
$obj = new Foo();
?>
<p>Hello <?php echo $obj->printBar(); ?> World</p>
//tag followed by space - fine
<p>Hello <?phpecho $obj->printBar(); ?> World</p>
//tag no space - Parse Error
我的问题是短回波标签 <?= ?>
怎么样? ,在开始标签解析后带或不带空格都可以 - 但哪个符合 PSR 标准?
<p>Hello <?= $obj->printBar(); ?> World</p>
//tag followed by space - parses okay
<p>Hello <?=$obj->printBar();?> World</p>
//tag no space - parses okay
最佳答案
添加一个空格以确保短 PHP 开放标记和长 PHP 开放标记之间的一致性。
关于php - 短回波标签间距的 PSR 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31707749/