PHP 速记标签 7.x
PHP Short hand tags 7.x
只是想知道,有人要求我做一些工作,我有一个 codeigniter 项目。我也在尝试(在我可以的情况下)准备升级到 php 7.x(当前为 5)的项目。
我感到困惑的一件事是 php 短标签的使用。我喜欢它们,但它们似乎在 7 后被移除了?
所以我的问题是,我应该删除它们吗?问题是,他们使代码更具可读性,为什么要删除它?
例如:
<?php if ($product->price_discounted > 0)
{
echo "<p class='discounted price'>" . $product->price_discounted . "</p>"
}
?>
对
<? if ($product->price_discounted > 0): ?>
<p class='discounted price'><?= $product->price_discounted ?></p>
<? endif; ?>
我更喜欢第二个版本,但每当我 运行 我在 php7 上的项目时,这些都不起作用。我是漏掉了什么还是它们真的被移除了?
仅供参考:我在 php.ini
中有短标签
Shorthand 标签仍在 PHP7,被删除的标签是:
<% opening tag
<%= opening tag with echo
%> closing tag
(<script\s+language\s*=\s*(php|"php"|'php')\s*>)i opening tag
(</script>)i closing tag
是否加载了正确的 php.ini?
<?php phpinfo(); ?>
检查加载的配置文件
重要更新:
短标签不再被弃用。
尽管通过了 RFC,一些争议随之而来,PHP 内部小组拒绝实施它1。查看迁移指南进行确认:
https://www.php.net/manual/en/migration74.php
原文Post:
短开放标签在 PHP 7.4 中已弃用,并将在 PHP 8 中删除。
https://wiki.php.net/rfc/deprecate_php_short_tags
此外,从 5.4 开始,短回显 (<?=
) 不再是 short_open_tag
的一部分。它始终可用,不属于弃用的一部分。
只是想知道,有人要求我做一些工作,我有一个 codeigniter 项目。我也在尝试(在我可以的情况下)准备升级到 php 7.x(当前为 5)的项目。
我感到困惑的一件事是 php 短标签的使用。我喜欢它们,但它们似乎在 7 后被移除了?
所以我的问题是,我应该删除它们吗?问题是,他们使代码更具可读性,为什么要删除它?
例如:
<?php if ($product->price_discounted > 0)
{
echo "<p class='discounted price'>" . $product->price_discounted . "</p>"
}
?>
对
<? if ($product->price_discounted > 0): ?>
<p class='discounted price'><?= $product->price_discounted ?></p>
<? endif; ?>
我更喜欢第二个版本,但每当我 运行 我在 php7 上的项目时,这些都不起作用。我是漏掉了什么还是它们真的被移除了?
仅供参考:我在 php.ini
中有短标签Shorthand 标签仍在 PHP7,被删除的标签是:
<% opening tag
<%= opening tag with echo
%> closing tag
(<script\s+language\s*=\s*(php|"php"|'php')\s*>)i opening tag
(</script>)i closing tag
是否加载了正确的 php.ini?
<?php phpinfo(); ?>
检查加载的配置文件
重要更新:
短标签不再被弃用。 尽管通过了 RFC,一些争议随之而来,PHP 内部小组拒绝实施它1。查看迁移指南进行确认:
https://www.php.net/manual/en/migration74.php
原文Post:
短开放标签在 PHP 7.4 中已弃用,并将在 PHP 8 中删除。
https://wiki.php.net/rfc/deprecate_php_short_tags
此外,从 5.4 开始,短回显 (<?=
) 不再是 short_open_tag
的一部分。它始终可用,不属于弃用的一部分。