if文やfor文では{}の代わりにコロンやendif / endforも用いることができるということを最近学びました。どちらの方法が推奨されますか?

この記事は約 2 分 で読むことができます。

if文やfor文では{}の代わりにコロンやendif / endforも用いることができるということを最近学びました。どちらの方法が推奨されますか?もしくはエンジニアの方はどちらを用いるのが一般的でしょうか?

 

PHPの場合、基本的には{}で書くのが一般的です。

for ($i = 0; $i < 10; $i++) {
	if ($i > 0) {
		echo $i;
	}
}

好みの問題もありますが、ブロック内のインデントをしっかり行うことで、
括弧の対比が分かりやすく、ソースコードがすっきりして読みやすいです。
また、タイプする文字数も少ないので、単純に楽で早いです。

ただし、PHPの場合は、HTMLの中にPHPコードを混合して書く場合があります。

<?php foreach ($items as $item) { ?>
	<li>
		<?php if ($item) { ?>
		<?php echo $item['name']; ?>
		<a href="item_edit.php?id=<?php echo $item['id']; ?>">[編集]</a>
		<?php } ?>
	</li>
<?php } ?>

HTMLと混在する場合は、括弧の対比が分かりづらくなってしまい、
バグのもとにもなるので、endif、endfor、endforeachを使うようにしています。

<?php foreach ($items as $item): ?>
	<li>
		<?php if ($item): ?>
		<?php echo $item['name']; ?>
		<a href="item_edit.php?id=<?php echo $item['id']; ?>">[編集]</a>
		<?php endif; ?>
	</li>
<?php endforeach; ?>

この方が、どこからどこまでがブロックなのか分かりやすいですね。

つまり、PHPだけのブロックでは{}、
HTMLと混在している箇所ではendforを使うといったイメージです。

if文やfor文では{}の代わりにコロンやendif / endforも用いることができるということを最近学びました。どちらの方法が推奨されますか?
この記事はあなたのお役に立てましたか?

この記事があなたのお役に立てましたら、
いいね!クリックをお願いします!

あなたも楽しくプログラミングを学んでみませんか?

コメントを残す