是<! - ? ...? - >有效的简写PHP,它会一直有效吗?

时间:2014-04-18 16:31:24

标签: php shorthand

我偶然发现了

<?php ... ?>

可以缩短为

<? ... ?>

这是个坏主意吗?在某些情况下?它们是什么情况?还有简写的例子吗?我知道涉及条件语句的简写示例,但我发现它们更容易阅读。

如果在其他地方已经回复,请链接我,但我无法通过搜索找到它。也许我没有使用正确的关键字。

4 个答案:

答案 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