PHP替代控制结构,有什么缺点吗?

时间:2010-07-30 18:20:58

标签: php syntax

我一直在使用生成HTML的PHP代码而没有任何模板,而且它的意义很大,并且难以按照它们的结构方式阅读。根据我注意到的流量大幅改进的一种方法是在某些情况下使用: endif代替{ }块来提高可读性。 (见http://php.net/manual/en/control-structures.alternative-syntax.php

  • 这是便携式吗?
  • 这是标准吗?
  • 这种情况有多慢(我明白它需要更多的字符)

干杯!

5 个答案:

答案 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 } ?>

这只是一个小例子,但我认为endifendforeach更容易被发现为<?php } ?>。所以,是的,绝对与HTML一起使用!

我不会在其他任何地方使用它,因为在“普通”代码中我发现它更难阅读。

答案 1 :(得分:4)

就个人而言,我讨厌他们,但他们是语言的一部分。他们没有被弃用,我怀疑他们很快就会被删除。

您必须注意的是,您不能在同一个控制块中混合使用这两种语法(如手册页所示)。

我发现它们不再具有可读性。认同提供了足够的线索。如果你有足够长的块,你发现自己使用这些控制结构或} //end of while,你应该重构你的代码。

答案 2 :(得分:1)

  

PHP替代控制结构,有什么缺点吗?

是的,您不能在vim中使用%在块的开头和结尾之间跳转。只是说。

答案 3 :(得分:0)

直接回答:是的,它是标准的,便携式的,并不慢。它是标准大括号语法的简单替代方案。无论您是否选择使用它都取决于您作为时尚选择。

就个人而言,在我的整个编程生涯(到目前为止)已经被教授和使用过C风格的语言之后,我更喜欢花括号,在大括号结束后用简单的注释告诉你它的结尾。

答案 4 :(得分:0)

我看到的唯一缺点是在像崇高文本这样的编辑器中,有类似的选项 “跳转到匹配的括号”和“将选择扩展到括号​​”,它不能使用替代语法

相关问题