【发布时间】:2011-12-15 05:58:49
【问题描述】:
我是第一次安装 Symfony2 框架,网络配置屏幕说要关闭 php 短标签。除了与 xml 冲突或服务器不兼容的论点之外,还有什么原因吗?任何特定于 Symfony 的问题?
【问题讨论】:
标签: php symfony php-shorttags
我是第一次安装 Symfony2 框架,网络配置屏幕说要关闭 php 短标签。除了与 xml 冲突或服务器不兼容的论点之外,还有什么原因吗?任何特定于 Symfony 的问题?
【问题讨论】:
标签: php symfony php-shorttags
一般来说,从不使用short_tags 不是一个好主意,主要是因为服务器不兼容。
服务器不兼容
并非每个 PHP 服务器都启用了short_tags。因此,如果您在项目中的任何地方使用短标签,并且在未来的某一天碰巧将它放在禁用短标签的服务器上,那么您的网站现在就坏了。您必须检查您的代码并在服务器上查找/替换或启用短标签,无论如何您可能无权这样做。
Symfony
Symfony 提出了几个最佳实践建议。它们不一定会影响使用 Symfony 的开发,但它们是许多专业开发人员遵循的良好实践。不使用short_tags是件好事。
无论如何,所有短标签确实可以让您不必时不时地输入一些额外的字符。如果您真的很担心输入额外的字符,您应该使用支持 sn-ps 的 IDE 或文本编辑器,例如 Sublime Text。
【讨论】:
恕我直言,如果您愿意,请随意启用 short_open_tag,忽略 Symfony 发出的这个警告是安全的。哎呀,我主张完全取消支票。
您提到的两个可能的问题是您在使用短开放标签时可能遇到的唯一理论上问题,但实际上,在我开发 PHP 应用程序的 10 年中,这对我来说从来都不是问题。
即使在 XML 繁重的应用程序中,PHP 解析的 XML 标头也不可能在少数几个位置,并且在这些少数情况下,问题很容易被规避,例如回显 XML 标头本身。在这个后 XHTML 时代,您更不可能在 PHP 模板中开发任何带有 XML 标头的 Web 应用程序。一个没有实际意义的论点开始。
就服务器配置而言,如今即使是普通的共享虚拟主机也允许修改 PHP 配置,尤其是此设置甚至可以在运行时远程设置,而您无法做到这一点。谁在将 Symfony 应用程序部署到共享主机?
短开标签需要一些爱,它们在 PHP 5.4 中得到了一些,无论 short_open_tag 设置如何,都会启用回显语法 (<?= ?>)。此外,尽管有些人可能声称,短标签绝不是 PHP 已弃用的功能,并且会继续存在。
如果您使用 PHP 模板,并且更喜欢短标签语法,那就去吧!
【讨论】:
AFAIK,如果您使用短标签,Symfony 1 或 2 中没有什么特别的东西会破坏,但从个人经验来看,它们不值得为您节省的少量打字。您提到了两个有效的投诉 - XML 冲突和服务器不兼容。这些是足够的理由不使用它们。将项目从一台服务器移动到另一台服务器并且不得不替换短标签是一种烦人的浪费时间:)
【讨论】: