PHPの制御文と言えば、『if文』や『while文』や『foreach文』などなどがあります。
WordPressのテンプレートとか見ていたら書き方が2通りあるって気づきました?
if文を例にとると以下の2通りの書き方あります。パターン1とパターン2です。
[php] <!DOCTYPE html><html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPってそんなに難しくないかも?</title>
</head>
<body>
●パターン1++++++++++++++++++++++++++++++++++++++++++++++++++
<?php $age = 19; ?>
<?php if( $age < 20 ) : ?>
<p>未成年</p>
<?php else: ?>
<p>成年</p>
<?php endif; ?>
●パターン2++++++++++++++++++++++++++++++++++++++++++++++++++
<?php
$age = 19;
if($age <20){
echo "<p>未成年</p>";
}else{
echo "<p>成年</p>";
}
?>
</body>
</html>
[/php]
これの出力結果は両方一緒で、書き方としては両方問題なく正解です。2通りの書き方があるだけです。
ざっくり違いを言うと『:』を使うか『{}』を使うかの違いです。
私はWordPressのテンプレートファイルに制御文を書く場合はパターン1を使います。
理由としては
- 1行ごとにPHPブロックが切れている方が読みやすい。
- 『}』閉じカッコで書かれているよりも、『endif;』で明記してある方が『if文』の始まりとの整合性が取りやすい。
まぁ、テンプレートファイルにはHTMLタグがベースに書かれているので、可読性から上記2点の理由でパターン1が良いと思っています。
逆にfunctions.phpにPHPコードを書く場合はパターン2を使ってます。
functiions.phpはHTMLタグがメインではなく、PHPコードがメインで書くところだからです。
PHPコードがメインになるとインデントなどを綺麗にしていれば、パターン2の方が綺麗にコードが見えます。
コメント