なぜ異なる構文が同じ結果があるのですか?
質問
なぜ異なる構文が同じ結果があるのですか?
例えば
# Example 1
if($myCondition == true) :
#my code here
endif;
if($myCondition == true) {
#my code here
}
# Example 2
foreach($films as $film) :
#my code here
endforeach;
foreach($films as $film) {
#my code here
}
また、私は使用しています <?=
今何年もの間、私は今それが非推奨であることを理解しています、そして私は使用するべきです <?php echo
これはケースですか、そしてその理由は何ですか?毎回それを書かなければならないのはもっと迷惑です。
あなたの考えは何ですか?
解決
コロンendif、endforeachなどの構文は 代替構文. 。この機能が存在する理由は確かではありません。 HTMLマークアップの真ん中にある閉じたカーリーブレースよりも、Endif/Endforeachを簡単に選ぶことができるテンプレート目的で、代替の構文がより多く使用されていることに気付いたと言えます。
<?=
短いオープンタグとして知られています。あなたはおそらくここでその使用に必要なすべての情報を見つけることができます PHPショートタグは使用できますか?
他のヒント
なぜ結果が違うのか?ブラケットのないものは呼ばれます 制御構造の代替構文 たとえば、HTMLを扱う場合、非常に便利です。
<?php echo
短いオープンタグは無効になり、PHP 5.3以降デフォルトで無効になる可能性があるため、はるかにポータブルです。
所属していません StackOverflow