很抱歉这个愚蠢的问题,但我遇到了使用的代码:
<?=$MAP_OBJECT->printOnLoad();?>
<?=$MAP_OBJECT->printMap();?>
<?=$MAP_OBJECT->printSidebar();?>
Run Code Online (Sandbox Code Playgroud)
关于<?=over <?php或just plain 有什么特别之处<?吗?
Sar*_*raz 18
它们是<?php echo .... ?>被称为短标签的简写.你应该避免使用它们,因为:
<?xml ... ?>所以你永远不应该再使用它们,也看看:
Gum*_*mbo 15
我们应该讨论使用短开标签时的优缺点,而不是讨论是否弃用了short_open_tags:
使用短开放标签<?连同<?=比较短,可能更容易比标准的开放标签写<?php和<?php echo分别.在模板中直接使用PHP时非常方便.(这可能也是PHP 为控制结构提供替代语法的原因.)
使用短打开标签时,您需要启用short_open_tags.如果您或您的网络托管服务提供商决定禁用short_open_tags,您的应用程序可能不再起作用,您可能会遇到一些严重的安全问题.因为如果禁用了short_open_tags,则只<?php识别标准开始标记,并将短开始标记内的所有内容视为纯文本.(另请参阅Sarfraz Ahmed的答案中引用的博客文章.)
如果您的目标是编写不仅适合您的应用程序,则此要求会使您的PHP应用程序不那么便携.这也是为什么许多人建议不要使用短开标签(包括PHP手册):
注意:在开发用于重新分发或在不受您控制的PHP服务器上部署的应用程序或库时,应避免使用短标记,因为目标服务器可能不支持短标记.对于便携式可再发行代码,请确保不要使用短标签.
从PHP 5.4 <?=开始,无论short_open_tags选项如何,它始终可用.<?另一方面,需要启用该选项.
使用时,另一个问题是XML处理指令类似<?xml … ?>.当启用short_open_tags时,您不能直接在代码中使用它们,但需要使用PHP来输出它:
如果要将PHP与XML结合使用,可以禁用此选项以使用
<?xml ?>内联.否则,您可以使用PHP打印它,例如:<?php echo '<?xml version="1.0"?>'; ?>.
否则PHP会扼杀xmlin <?xml.
现在关于弃用的最后几句话:目前不推荐使用short_open_tags.否则手册会明确说明.此外,PHP的发明者Rasmus Lerdorf 在内部邮件列表中回答了关于"PHP 6中是否已经弃用了short_open_tag这个问题?"的回复,其中有几个原因没有删除PHP 6 中的short_open_tags:
这是我们决定不在PHP 6中删除它们的原因之一.
Ry-*_*Ry- 12
<?= 是一个短标签,几乎相当于:
<?php echo
Run Code Online (Sandbox Code Playgroud)
从PHP 5.4开始,这种语法始终可用,但在早期版本的PHP中,它需要short_open_tag启用.至于如何在Stack Overflow上搜索它,试试吧code:"<?=".
这是一个简写<?php echo $MAP_OBJECT->printOnLoad(); ?>.在制作基于PHP的模板和事物时,更简单的方法来编写它.
但要小心.我的理解(虽然我自己从未遇到过)是在一些服务器上可以禁用速记版本.