【发布时间】:2009-11-27 12:04:58
【问题描述】:
我是 php 新手,想知道这些服务器标签之间是否有任何区别:
<?php
?>
和
<?
?>
【问题讨论】:
我是 php 新手,想知道这些服务器标签之间是否有任何区别:
<?php
?>
和
<?
?>
【问题讨论】:
第一个是安全的开闭标签变体,第二个是所谓的短开标签。第二个并不总是可用,如果可能,请使用第一个选项。 您可以在 php.ini 中的 short_open_tag 处检查短开放标签的可用性。
【讨论】:
<?= $test ?> 等价于<?php echo $test ?>
短开放标签的问题在于:
<?xml version="1.0" ?>
如果允许您使用短标签(即<? 和?>),将会出现问题。 <?php 不太容易被误解。
是否允许使用短标签由 ini 指令 short_open_tag 定义。
【讨论】:
【讨论】:
没有 AFAIK,但是我有服务器(共享),其中的设置不支持速记标签 <? ?>,所以我通常坚持使用 <?php ?>。
【讨论】:
【讨论】:
注意 short_open_tag = Off 不影响 <?= 速记标签,相当于 <?php echo
【讨论】:
正如@erenon 在这里解释的那样:https://stackoverflow.com/a/1808372/1961535
不同之处在于 short_open_tag 在某些情况下不可用。您可以通过访问 php.ini 文件来检查状态,但在共享托管服务器的情况下,主机并不总是允许编辑 php.ini 文件。
您可以按照此处的说明轻松打印 phpinfo: https://www.php.net/manual/en/function.phpinfo.php
phpinfo();
如下图搜索short_open_tag
使用完整标签总是更好,因为每个版本的 PHP 天气旧文件或新文件总是支持它。
【讨论】: