PHP代码在文件中的位置有限制吗?



你能把PHP放在文件的任何地方吗?在标签和引号内?例如,像这样的东西是否保证工作(即使它并不总是被IDE的语法高亮器识别):

<tr><tbody <?php if(!$row) echo "style='display: none;'"; ?>>
<!-- stuff that we only want to show if $row exists -->
</tbody></tr>

或者例如:

<a href="http://www.google.com/search?q=<?= echo $searchTerm; ?>"</a>

我知道我可以在我的机器上测试这类东西,但我想知道它是否是保证/定义的行为,以及是否存在我错过的工作的任何边缘情况。

还有,这样做是否有很好的理由?是否因为下一个查看代码的人可能会忽略它而变得危险?我应该加个评论吗?必须添加注释是否违背了该方法的目的——简洁?

是的,你可以把php标签放在页面(html)的任何地方,没有什么可以阻止你。

如果我们深入底层,你的web服务器通过一个处理程序将代码发送到php解释器,并将输出与你的静态html文件合并,并将合并后的文件作为响应发送。

为了补充我的答案,开发人员通常选择基于MVC的框架,以便html页面中的php代码仅限于打印变量,业务逻辑在控制器中执行。我个人更喜欢CakePHP。除此之外,你可能不想在html标签之间放置操纵会话或执行重定向的代码,否则你会收到报头已经设置错误,因为你已经在修改报头之前打印了某些html代码。

最新更新