打开和关闭 PHP 是不是被认为是不好的做法? [关闭]

Posted

技术标签:

【中文标题】打开和关闭 PHP 是不是被认为是不好的做法? [关闭]【英文标题】:Is opening and closing PHP considered bad practice? [closed]打开和关闭 PHP 是否被认为是不好的做法? [关闭] 【发布时间】:2012-11-25 00:26:08 【问题描述】:

我目前正在寻找一种将javascript 插入到我的 php 代码中的方法,但是,我无法在 echo 中执行此操作。我正在考虑使用以下解决方法:

<?php
   some code
?>

<script type="text/javascript>
   js things
</script>

<?php
   more code
?>

然而,我有点担心打开和关闭&lt;?php 部分。这被认为是不好的做法吗?为什么?

【问题讨论】:

不,这是很正常的做法。事实上,我会鼓励这样做。 但我会避免将任何实质性逻辑与 html 混合。 @NolwennLeGuen 告诉你的人可能应该被扇耳光;最好戴上厚重的皮手套。 如果它是纯服务器端脚本,则关闭 PHP 是不好的做法,因为如果在 ?&gt; 之后有字符(如返回),它会将它们输出到浏览器并可能阻止发送标头(喜欢位置:foo.com) ^ 是的,通常的惯例是不关闭 PHP-HTML 中的最后一个 PHP 标记。 【参考方案1】:

打开和关闭 PHP 是否被视为不好的做法?

没有。

当你开始时,你进入了不好的做法的灰色区域:

长时间运行的 PHP 块,通过 echoprint 等输出 HTML。 使用短开标签。 不要在结束标记前使用分号。

我鼓励您阅读有关 php tags 和 instruction separation 的信息。

关于 JavaScript 不好的做法,您可能希望通过使用外部 JavaSCript(也更高效)。 Read more.

【讨论】:

【参考方案2】:

不,这不是坏习惯。您应该考虑到您的文档基本上是 HTML。所以 PHP 几乎“注入”了更多的东西。如果您没有关闭 PHP 而是使用它来输出相同的内容,那么您会做完全相同的事情,但会以更复杂的方式和更密集的处理器方式进行,因为 PHP 标记内的所有内容都必须进行解析。相反,这些标签之外的东西是纯HTML,不被解析,而是直接发送。所以这不是坏习惯。这是个好习惯!

【讨论】:

如果您将&lt;?php ... ?&gt; 视为处理指令,并照此使用它,这并不可怕。问题是,人们将在 PHP 标记中查询数据库和其他所有内容,对于所有意图和目的来说,应该是“视图”。所以也许这本身并不是一个糟糕的设计,但它肯定可以做到这一点。【参考方案3】:

不,不是。 虽然我更喜欢在顶部保留尽可能多的代码,以提高脚本的可读性和维护性。

莱昂

【讨论】:

【参考方案4】:

虽然我会警告您在混合不同的脚本类型时要节俭,但这在编程中是非常正常且可以接受的。如果您能找到解决方法,我会建议您这样做,但这比尝试从 PHP 回显 Javascript 要好得多。

【讨论】:

我个人认为这是一种可怕的做法。我从来没有在 PHP 脚本中使用过多个 PHP 标记。每个 PHP 文件包含一个 PHP 标记和一个 PHP 类(没有 JavaScript,也没有 HTML)。 HTML 进入 HTML 文件。 JavaScript 进入 JavaScript 文件。 PHP 决定提供什么,将一些文档片段组合在一起,然后通过网络发送。关注点分离。 @GGG,听起来像是 PHP 开发乌托邦。但是你不要自相矛盾,你说的文档片段是什么意思。 @JasonMcCreary,过去我使用 XML 文档/文档片段,并将它们组合成 XHTML 文档。现在 XHTML(和某种 XML)已经不再流行了,我只使用 HTML 文档片段。 “节俭”一词也加 1。绝对是这个答案的一半乐趣

以上是关于打开和关闭 PHP 是不是被认为是不好的做法? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用动态是不是被认为是一种不好的做法?

依赖按顺序运行的自动化测试是不是被认为是不好的做法?

在 Android 的 AsyncTask 期间更改活动是不是被认为是不好的做法?

iOS - 不完美地镜像 JSON 是不是被认为是不好的做法?

在 Jade 中使用 HTML 是不是被认为是不好的做法?

将 DAO 注入构造函数是不是被认为是不好的做法?如果是这样,为啥?