構文記述方法のことで
PHPで画面出力部分を取り扱う場合はテンプレートエンジンを使うことが多いのだが、管理者向け画面などは凝ったデザインの必要がないので、PHP直書きで記述することも多い(直書きであってもテンプレートとして別ファイルにしているが)。そういった場合での、テンプレート内に制御構造を記述する際のメモ。
「テンプレートエンジンと使わない」といっても、何でもかんでもプログラム本体と同様にprint()とか書いていると当然読みにくくなるので、省略形などを使う。例えば、
「<?php print($str); ?>」のかわりに「<?=$str ?>」とか。
あと制御構造も、
<?php
if($condition){
print(‘hoge’);
}else{
print(‘fuga’);
}
?>
などと書くとやっぱりわかりづらいので、以下のように記述している。
<?php if($condition): ?>
hoge
<?php else: ?>
fuga
<?php endif; ?>
でも上記のように制御構造を記述する場合、if節の中にif節という具合に入れ子にできないのが難点だ。だって、どの「endif」がどれに対応しているのかわからなくなるから。
これって回避方法はあるんだろうか。マニュアルを見ても書いてなさそうだったんだよね。