首页 > PHP > PHP短标签(short_open_tag ),还是忘了它吧

PHP短标签(short_open_tag ),还是忘了它吧

是的,PHP默认是开启PHP短标签的,即默认情况下short_open_tag=ON,大家看看PHP的官方说明上面讲的很清楚下面的官方配置文件上面也是这样说的(绿色和红色标)。

; This directive determines whether or not PHP will recognize code between

; <? and ?> tags as PHP source which should be processed as such. It is

; generally recommended that <?php and ?> should be used and that this feature

; should be disabled, as enabling it may result in issues when generating XML

; documents, however this remains supported for backward compatibility reasons.

; Note that this directive does not control the <?= shorthand tag, which can be

; used regardless of this directive.

; Default Value: On

; Development Value: Off

; Production Value: Off

; http://php.net/short-open-tag

short_open_tag = Off

不过在这里我还是建议大家还是忘了这个默认设置吧,最好还是不要使用短标签的好。

大家如果在Linux下编辑安装PHP的时候一定会发现,在源文件根目录下面有两个建议配置文件:

php.ini-development

php.ini-production

即开发环境推荐配置和生产环境下推荐配置,这两个文件是官方推荐配置,基本上大家根据使用情况采用这两个文件作为自己的php.ini文件应该能应付需求,相信不在少数同学也是这么做了。但是再看看上面官方配置文件截取部分即红色标部分,大家应该可以看到,实际上这两个配置文件默认是关闭短标签配置项的,也就是如果大家使用这两个推荐配置的话,同时没有特别对 short_open_tag 做配置修改的话,那么实际上默认你的PHP运行环境是不支持短标签的,这也就是为什么我写这篇文章的原因。大家还是放弃PHP短标签吧,实际上即便你开启了短标签,在一些情况下还是不得不关闭它,比如在和XML文件配合使用的时候

<? echo '<?xml version="1.0"'; ?>

多么糟糕的领悟?!

其实像这样的情况还有很多,比如你所运行的环境确实是关闭了短标签,而你又无法或很困难去修改short_open_tag配置的时候

所以我建议还是放弃这个『快捷方式』吧,何必留此隐患,你说呢?

当然不得不多说一句,仔细看一看官方文档你会发现,看上面黄色标。有一种使用形式,即

<?=,它和 <? echo 等价, 从 PHP 5.4.0 起, <?= 总是可用的。

参考资料

http://php.net/manual/zh/ini.core.php#ini.short-open-tag

分类: PHP 标签: ,
  1. 本文目前尚无任何评论.

=1加9(必填)请输入两数相加的结果。