我偶然发现了
<?php ... ?>
可以缩短为
<? ... ?>
这是个坏主意吗?在某些情况下?它们是什么情况?还有简写的例子吗?我知道涉及条件语句的简写示例,但我发现它们更容易阅读。
如果在其他地方已经回复,请链接我,但我无法通过搜索找到它。也许我没有使用正确的关键字。
答案 0 :(得分:2)
这种速记已经存在了很长时间,但its use is discouraged(现在默认禁用)因为与其他语言的各种不兼容性 - 与ASP接受<? x ?>
的能力含糊不清,以及各种XML结构,是两个明显的例子。
选择不使用它。
相比之下,<?= x ?>
速记(相当于<?php echo x ?>
)的受欢迎程度再次升级is enabled by default since PHP 5.4,因为它没有遇到同样的问题。
与往常一样,请查阅有关此类事项的规范信息的文档。
答案 1 :(得分:1)
速记标记仅在某些设置中启用。他们气馁。请参阅标签的PHP手册条目:http://www.php.net/manual/en/language.basic-syntax.phptags.php
PHP还允许使用短打开标签(不鼓励这些标签,因为它们仅在使用short_open_tag php.ini配置文件指令启用时才可用,或者如果PHP配置了--enable-short-tags选项。
就其他短缺而言,没有其他短缺。 <?= ?>
简写可能被认为是一个,但它的唯一用途是输出一个变量(如该问题的另一个答案所述)。关闭?>
的遗漏是一种排序。对于除PHP代码之外的任何内容的文档,它都很方便。我在上面链接的手册条目中也提到了这种技术。
答案 2 :(得分:0)
会起作用吗?在某些情况下。 PHP有一些开放标签,看看here。但是你应该小心,因为它取决于php配置(通常是/etc/php.ini或/etc/php/php.ini)。有一个选项short_open_tag = On
。如果没有启用,代码将在视图中呈现,并且不会以php代码的形式执行。
答案 3 :(得分:0)
正如blakeo_x所说,只有PHP配置文件启用时,速记才有效。
不鼓励使用它,因为您可能必须在未启用速记的其他服务器上运行它。因此,请尝试坚持使用更长的版本<?php
。