我一直在使用生成HTML的PHP
代码而没有任何模板,而且它的意义很大,并且难以按照它们的结构方式阅读。根据我注意到的流量大幅改进的一种方法是在某些情况下使用:
endif
代替{ }
块来提高可读性。 (见http://php.net/manual/en/control-structures.alternative-syntax.php)
干杯!
答案 0 :(得分:7)
这可移植吗?
是
这是标准吗?
是
这在任何重要方面都是慢的(我知道它需要更多的字符)
我不知道。
但是,如果将它与HTML结合使用,它可以提高可读性和可维护性。
示例:
<?php foreach($array as $value): ?>
<div>
<?php if($value == "foo"): ?>
<p><?php echo $value; ?></p>
<?php endif; ?>
</div>
<?php endforeach; ?>
VS
<?php foreach($array as $value) { ?>
<div>
<?php if($value == "foo") { ?>
<p><?php echo $value; ?></p>
<?php } ?>
</div>
<?php } ?>
这只是一个小例子,但我认为endif
和endforeach
更容易被发现为<?php } ?>
。所以,是的,绝对与HTML一起使用!
我不会在其他任何地方使用它,因为在“普通”代码中我发现它更难阅读。
答案 1 :(得分:4)
就个人而言,我讨厌他们,但他们是语言的一部分。他们没有被弃用,我怀疑他们很快就会被删除。
您必须注意的是,您不能在同一个控制块中混合使用这两种语法(如手册页所示)。
我发现它们不再具有可读性。认同提供了足够的线索。如果你有足够长的块,你发现自己使用这些控制结构或} //end of while
,你应该重构你的代码。
答案 2 :(得分:1)
PHP替代控制结构,有什么缺点吗?
是的,您不能在vim中使用%
在块的开头和结尾之间跳转。只是说。
答案 3 :(得分:0)
直接回答:是的,它是标准的,便携式的,并不慢。它是标准大括号语法的简单替代方案。无论您是否选择使用它都取决于您作为时尚选择。
就个人而言,在我的整个编程生涯(到目前为止)已经被教授和使用过C风格的语言之后,我更喜欢花括号,在大括号结束后用简单的注释告诉你它的结尾。
答案 4 :(得分:0)
我看到的唯一缺点是在像崇高文本这样的编辑器中,有类似的选项 “跳转到匹配的括号”和“将选择扩展到括号”,它不能使用替代语法