为什么我应该在我的php脚本中使用<?php
而不是<?
?
答案 0 :(得分:29)
避免短开标记的两个主要原因是
<?php
适用于所有启用PHP的服务器,但可以禁用<?
答案 1 :(得分:7)
启动PHP有两种方法
<?php
和
<?
PHP还包括
<?=
但是这将打印出它后面的变量,因为它是echo的简写。
你应该使用&lt; ?php因为它兼容所有服务器类型。您可以将代码移动到新的托管解决方案或设置新的服务器默认值,并且可以禁用短名称。
答案 2 :(得分:5)
可以禁用短标记<?
(和<?=
)。长版<?php
(以及<?=
= <?php echo
)无处不在。
我们可以讨论PHP团队决定使这样的事情可配置的意义,但重要的是,你不能在便携式代码中使用短标签。
答案 3 :(得分:3)
两者在语义上都是一样的。 <?
只是完整语法的快捷方式。
答案 4 :(得分:3)
由于两个原因,我个人更喜欢关闭<?
<?xml version="1.0" encoding="UTF-8" ?>
开头)<?php
比<?
更具可读性和醒目可见性。答案 5 :(得分:2)
为了向每个人解释不应该使用短标签,因为它们可能被禁用(或者甚至可能从未来的PHP版本中删除),不推荐使用短标签的主要原理是它们不是有效的XML“处理说明“而<?php
标签是。因此,带有<?php ... ?>
标记的PHP模板可以是有效的XML文档,而使用短标记的PHP模板则不是。
答案 6 :(得分:1)
应该注意的是,PHP的某些服务器配置不支持开箱即用的一个或另一个。例如,我的网络服务器不支持&lt;?但支持&lt;?php
答案 7 :(得分:1)
便携性论证都很好,但我会说是亵渎神明,并且如果你愿意,你应该继续使用短标签,除非你做的事情是真正广泛分发的(来源),或正在制作非常注重xml的东西。
a)我从未遇到过无法启用短标签的情况。通常它们默认处于启用状态。
b)在大多数情况下,<?
不会与<?xml
混淆,因为它们在堆栈的不同级别被解析。
c)短标签不那么突兀,因此会减少你的代码。我发现<?php echo
与<?=
尤其如此。 (你可能会争辩说你通常应该避免使用其中任何一个,因为它可能意味着你正在编写意大利面条代码,但是来吧 - 这是php!)
当然,这一切都取决于你正在做什么样的项目,但对于一个基本的网站,我认为短标签根本不会伤害你。
答案 8 :(得分:0)
Wordpress Coding Standards表示只使用<?php
。他们没有解释原因。
这可能是一个宗教问题。
答案 9 :(得分:0)
短格式<?
/ <?=
语法的支持基于short_open_tag
parameter in php.ini。如果您托管自己的代码库,则启用此功能非常简单。但是,在共享/托管Web主机上,您可能无法控制此设置。
因此,为了获得最大的可移植性,您应该使用长格式语法。