为什么Symfony建议关闭php_short_tags

时间:2011-10-25 19:49:00

标签: php symfony php-shorttags

我是第一次安装Symfony2框架,而网络配置屏幕则说要关闭php短标签。除了与xml或服务器不兼容冲突的论点之外,还有什么理由吗? Symfony特有的任何问题?

3 个答案:

答案 0 :(得分:12)

恕我直言,如果您愿意,可以随意启用short_open_tag,并且可以安全地忽略Symfony发出的此警告。哎呀,我主张完全取消支票。

您引用的两个可能的问题是使用短开放标记可能遇到的唯一理论问题,但在实践中,这在我开发PHP应用程序的10年中从未成为问题。< / p>

即使在XML密集型应用程序中,您也不可能在很多地方使用PHP解析XML标头,并且在少数情况下,问题很容易被绕过,例如回显XML标头本身。在这个后XHTML时代,你不太可能在PHP模板中开发任何带有XML头的Web应用程序。一个有争议的争论开始。

就服务器配置而言,即使是平均共享虚拟主机也允许最近修改PHP配置,特别是这个设置甚至可以在运行时以远程可能性设置。那么谁将Symfony应用程序部署到共享主机呢?

短开标签需要一些爱好,他们在PHP 5.4中得到一些,无论short_open_tag设置如何,都将启用echo语法(<?= ?>)。此外,尽管有些人可能会声称,短标签绝不是一个弃用的PHP功能,并且仍然存在。

如果您使用PHP模板,并且更喜欢短标签语法,那就去吧!

答案 1 :(得分:4)

AFAIK,如果你使用短标签,Symfony 1或2中没有任何具体内容可以破解,但从个人经验来看,他们不值得为你节省少量的打字。您提到两个有效的抱怨 - XML冲突和服务器不兼容。这些是足够的理由不使用它们。将项目从一个服务器移动到另一个服务器并且必须替换短标签是一种烦人的浪费时间:)

答案 2 :(得分:2)

一般来说,使用short_tags是一个好主意从不主要是因为服务器不兼容。

服务器不兼容

并非每个PHP服务器都启用了short_tags。因此,如果您在项目中的任何位置使用短标签,并且将来某天它恰好放在禁用了短标签的服务器上,那么您的网站现在已经损坏。您必须查看代码并在服务器上查找/替换或启用短标记,否则您可能无权执行此操作。

<强> Symfony的

Symfony提出了几项最佳实践建议。它们不一定是使用Symfony创建或破坏开发的东西,但它们是许多专业开发人员遵循的良好实践。不使用short_tags是一件好事。

无论如何,所有短标签确实可以避免您不时地输入一些额外的字符。如果您真的担心输入额外的字符,那么您应该使用支持片段的IDE或文本编辑器,例如Sublime Text