PHPの制御文の書き方には2通りあります。

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通りの書き方があるだけです。

スナップショット 12:11:30 10:22

ざっくり違いを言うと『:』を使うか『{}』を使うかの違いです。
私はWordPressのテンプレートファイルに制御文を書く場合はパターン1を使います。
理由としては

  • 1行ごとにPHPブロックが切れている方が読みやすい。
  • 『}』閉じカッコで書かれているよりも、『endif;』で明記してある方が『if文』の始まりとの整合性が取りやすい。

まぁ、テンプレートファイルにはHTMLタグがベースに書かれているので、可読性から上記2点の理由でパターン1が良いと思っています。

逆にfunctions.phpにPHPコードを書く場合はパターン2を使ってます。
functiions.phpはHTMLタグがメインではなく、PHPコードがメインで書くところだからです。
PHPコードがメインになるとインデントなどを綺麗にしていれば、パターン2の方が綺麗にコードが見えます。

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!

「エンジニアのためのWordPress開発入門」を執筆しました!

WordPressを使った開発案件は依然多く、それに携わるWebエンジニアも多数存在します。ただし、モダンな開発手法に慣れたWebエンジニアがWordPressに初めて触れたとき、その独特のアーキテクチャやシステムの構成に戸惑いを感じることがあるかもしれません。だが、WordPressは、それらを補ったうえにさらに強力なメリットを持ち合わせています。本書は、PHPプログラマがWordPressで開発する際に必要な基礎知識から、現場で役立つ具体的なカスタマイズ手法や開発のポイントについて詳しく解説しています。

この記事を書いた人

NPO法人のHP制作(WordPress)やkintoneを使った業務システムの構築をしています。サイボウズ株式会社公認kintoneエバンジェリスト/CoderDojo西宮と梅田のチャンピオン/認定NPO法人宝塚NPOセンター理事/NPO法人SEIN理事/

コメント

コメントする

目次
閉じる