打开以下PHP版本是否有任何区别或相关风险?
<? echo "hello world!"; ?>
<?php echo "hello world!"; ?>
<?="hello world!"?>
此外,关闭所有脚本标签是否必要?
打开以下PHP版本是否有任何区别或相关风险?
<? echo "hello world!"; ?>
<?php echo "hello world!"; ?>
<?="hello world!"?>
short_open_tag
禁用第一个和最后一个示例。因此,如果您希望代码尽可能具有可移植性,则应该使用完整的 <?php
,否则当您将代码移动到新服务器时,您可能会发现它不能按预期工作。另外,如果尝试进行 <?xml
类型声明,则使用短标签可能会导致冲突。至于安全性,如果有人决定关闭 short_open_tag
,使用该标记的代码理论上可能是危险的;然后,使用该标记的代码将成为纯文本并广播给所有人(请查看评论了解更多信息)。<?=
太方便了,b) 如果您打开了某些内容,就应该将其关闭。然而,“最佳实践”并不完全赞同这种做法。当你无法控制托管时,可移植性可能很重要。例如,当我编写了一些 PHP 程序并且它们托管在我的大学的托管服务上时,它们一直运行良好,直到他们更改了配置以禁止使用某些语法,这就破坏了很多页面。
即使它在某个时候能够正常工作,如果你无法控制托管服务,那么没有任何保证。
短标签。经常提到此选项可能未启用。我从未见过这种情况,但我想这是可能的。您可能需要更改托管提供商或其他内容。一般来说,我将使用简短形式。如果我需要更改它,那么它是一个非常简单的搜索和替换操作。
更重要的是,您编写的 PHP 代码有多少需要可移植而不仅仅是在特定应用程序上运行的情况?
唯一真正需要考虑的问题(依我之见)是 XML 处理指令,如果您输出 XHTML,则可能会出现问题,尽管我从未见过使用严格或过渡 HTML 的原因。