第1章 PHPソースコードの記述方法

1.1 PHPのソースコード記述方法について

PHP言語はHTML文章に埋め込んで利用され、特に書き方のルールは決まっていないのが現状です。その結果ソースコードは作成する人によって様々な形になってしまい、見やすいものもあればそうでないのもあります。
ソースコードは1度完成しても必ず修正があります。そのような場合に綺麗なソースコードになっていると分かりやすく修正も容易になり、第3者に見てもらう場合も大変有効といえます。
PHP言語は書き方に細かいルールがなく、初心者でも扱いやすいのが売りではありますが、ある程度の方向性を持った書き方をしておくほうが良いでしょう。そんなPHPのプログラミング方法について本章では学習していきます。

1.1.1 HTML文章の間にPHP処理を混在させる方法

PHPでプログラミングを行う場合図1.1.1のように、HTML文章の間に混在させて記述する方法が一番多い形になります。PHPは元々「HTML埋め込み型」のプログラミング言語なので、このような書き方になるのは当然と言えます。


図 1.1.1: HTML文章内にPHP処理を混在させる

ある程度の規模のHTML文章内に簡単なプログラムを埋め込むだけなら、上記の図のような方法でも問題ありませんが、もっと規模が大きくなってきた時にHTMLやプログラムを修正する場合に、どこを直していいのか分かり難くなるデメリットが出てきます。

1.1.2 HTML文章より先にPHP処理を記述する方法

PHPはHTML文章と混在させて記述するのが一般的な書き方になりますが、PHPのプログラム自体は判定処理を行うことが多く、処理をHTML文章のよりも上に記述し、その判定結果だけをHTML文章内に埋め込む書き方も行えます。PHPプログラム入門テキストでは、この方法でプログラム作成を行ってきました。


図 1.1.2: HTML文章内にPHP処理結果だけ埋め込む

処理部分を先頭にまとめることでPHP処理とHTML文章を切り離す事ができ、ソースコードの可読性が向上し、修正が簡単に行えるようになります。
本テキストではこのような処理を上にまとめる方法を推奨していきますが、この書き方を必ず行わないといけないわけではありません。本テキストを通じてプログラミングに慣れていき、自分なりの書き方を見つけてみてください。

プログラムの土台を提供するPHPフレームワーク

PHPにはフレームワークと呼ばれる「アプリケーションの土台」を提供してくれる仕組みがあります。フレームワークを利用すると作成の規則が決まっているので、「ソースコードが作成する人によって様々な形になる」という本節の問題点を解決することができます。しかし、フレームワークを使ったコーディング方法を覚える必要があるので学習コストが高くなりますが、様々な機能が提供されるので損になることはありません。
主なPHPフレームワークには「Zend」、「CakePHP」、「symfony」があります。どのフレームワークを使うかはアプリケーションの規模や目的で選ぶ必要があります。

1.1.3 PHPモードとHTMLモードの記述方法

処理結果をWeb画面に出力する場合、これまでの学習では以下のように行ってきました。

方法1:PHPモードをベースにした記述方法

上記のような書き方はPHPモードをベースにした出力方法となりますが、以下のようなHTMLモードをベースにしてPHPの結果を部分的に埋め込む書き方もできます。

方法2:HTMLモードをベースにした記述方法

上記はPHPモードの記述がなくなり、少しすっきりした記述が行えています。また、結果を出力するだけの記述なら「<?= ?> (ショートタグ)」を利用すると、さらにすっきりした文章を記述することもできます。

方法3:方法2のショートタグを利用した記述方法

本テキスト内では、主に方法3のショートタグを使った方法で行っていきます。

3つの記述方法を使ってWeb画面に結果を表示するプログラム

Web画面へ結果を表示する方法として、PHPモードからのecho文と、HTMLモードをベースにした2種類(echo文とショートタグ)の方法で記述し、その3つで記述した結果が同じになることを確認します。

ソース・フォルダー: myproj_basic/ch01
パッケージ: manyOutput.php
アクセスURL:http://localhost/myproj_basic/ch01/manyOutput.php

manyOutput.php

実行結果

解説

今回のプログラムはWeb画面に結果を出力するために、3つの方法を利用して行っています。実行結果からも分かりますが、どの方法を使っても同じ結果をWeb画面に出力することができます。
11~15行目はPHPモードから結果を出力するこれまで学習してきた方法になります。

16~18行目は1つ目の方法と変わってHTMLモードをベースにして、PHPの処理で用意した変数の値を部分的に埋め込む事で結果を表示しています。

20~22行目は2つ目の方法と同じくHTMLモードをベースにして、変数の値を出力する時にショートタグ(<?= ?>)を利用しています。

今回学習した3つの方法は作成するアプリケーションに応じて上手く使い分けてください。

ショートタグ利用の注意点

本テキストの開発環境では「<?= ?>」のショートタグが使える設定になっていますが、ご利用のサーバ環境や他の開発環境によっては禁止されている場合があります。ショートタグが使えない場合はPHPモードとecho文を利用した部分埋め込みを利用するようにしてください。
php.iniファイルの設定が「short_open_tag = On」となっていれば利用することができます。

NEXT>> 1.2 本章のまとめ