8

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

4

3 回答 3

12

恕我直言,如果您愿意,请随意启用 short_open_tag,忽略 Symfony 发出的这个警告是安全的。哎呀,我主张完全取消支票。

您引用的两个可能的问题是您在使用短开放标签时可能遇到的唯一理论上的问题,但实际上,在我开发 PHP 应用程序的 10 年中,这对我来说从来都不是问题。

即使在 XML 繁重的应用程序中,PHP 解析的 XML 标头也不可能在少数几个位置,并且在这些少数情况下,问题很容易规避,例如回显 XML 标头本身。在这个后 XHTML 时代,您更不可能在 PHP 模板中开发任何带有 XML 标头的 Web 应用程序。一个没有实际意义的论点开始。

就服务器配置而言,即使是普通的共享虚拟主机,这些天也允许修改 PHP 配置,特别是这个设置甚至可以在运行时设置,而您无法远程设置。谁在将 Symfony 应用程序部署到共享主机?

短的开放标签需要一些爱,它们在 PHP 5.4 中得到了一些,<?= ?>无论 short_open_tag 设置如何,都会启用回显语法 ( )。此外,尽管有些人可能声称,短标签绝不是 PHP 已弃用的功能,并且会继续存在。

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

于 2011-10-26T09:48:59.560 回答
4

AFAIK,如果你使用短标签,Symfony 1 或 2 中没有什么特别的东西会破坏,但从个人经验来看,它们不值得为你节省的少量打字。您提到了两个有效的投诉 - XML 冲突和服务器不兼容。这些是足够的理由不使用它们。将项目从一台服务器移动到另一台服务器并且必须替换短标签是一种烦人的浪费时间:)

于 2011-10-25T20:00:07.597 回答
2

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

服务器不兼容

并非每个 PHP 服务器都已short_tags启用。因此,如果您在项目中的任何地方使用短标签,并且在未来的某一天碰巧将它放在禁用短标签的服务器上,那么您的网站现在就坏了。您必须检查您的代码并在服务器上查找/替换或启用短标签,无论如何您可能无权这样做。

Symfony

Symfony 提出了几个最佳实践建议。它们不一定会影响使用 Symfony 的开发,但它们是许多专业开发人员遵循的良好实践。不使用short_tags是一件好事付诸实践。

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

于 2011-10-26T22:41:36.550 回答