PHP'if'跨越不同的代码块

时间:2012-04-05 19:08:46

标签: php

好的,有人刚给我看了一段PHP代码,在文件末尾我看到了一个迷路<?php } ?>。我认为应该给出编译错误,但事实并非如此。

为什么:

<?php
  if(1==1){
?>
X
<?php } ?>

有效?

将语句拆分成多个php块是否安全?

PS:我期待从答案中得到更多的东西然后“是”:D

5 个答案:

答案 0 :(得分:2)

是的,没关系,但我建议:

<?php if(1==1):?>
X
<?php endif; ?>

它使其比随机{}

更具可读性

答案 1 :(得分:1)

来自manual

  

一对开始和结束标记之外的所有内容都会被忽略   PHP解析器,允许PHP文件具有混合内容。这个   允许PHP嵌入HTML文档中,例如创建   模板。

欢迎来到PHP的神秘世界。

答案 2 :(得分:0)

安全吗?是。

可读?不是真的。

尽可能避免将PHP逻辑与HTML混合使用。很少有这样做是个好主意,因为它使阅读和理解你的代码变得困难。

答案 3 :(得分:0)

是的,这很好。

对于大块HTML来说,退出“php模式”通常很有用 - 你会看到这种技术在HTML和PHP混合的任何地方使用。

答案 4 :(得分:0)

它是有效的,但not recommended如果你想拥有一个长期可维护和可读的代码。

您必须记住,每次从PHP退出时,都会输入HTML。