「第5回初心者向けPHP講座」の記録 〜変数と配列 その1 PHPプログラムを書く前に〜

 今回からいよいよPHPプログラムを書き始めます。その1ではPHPを書くに当たってのポイントをまず解説し、その2で変数と配列について学習します。

PHPはHTML埋め込み型言語である

 HTMLの間にPHPの処理を記述出来るため、全ての処理をPHPで書く必要がなく簡素化でき、可読性も高められる。初心者にも書きやすいのはこの辺りの事があるからだ。

ソースコードとは?

 プログラムには必ずソースコードがある。ソースコードとは、プログラミング言語のコードが書かれたテキストファイルの事だ。そのテキストファイルをPHPモジュールが解釈して、ソースコードに書かれた通りの処理を行ってくれる。逆に言えば、ソースコードがないとプログラムは動かない。プログラムの動作を詳細に示した設計図みたいなものだ。

 HTMLを書いた事がある方ならイメージしやすいが、テキストファイルとしてHTMLタグを記述後、拡張子を「*.html」にして保存する。その後そのファイルをWebブラウザで開く事によってhtmlファイルに書かれた内容をWebブラウザが解釈し、デザインされたWebページとして表示してくれる。それと同様に、PHPを初めとしたプログラミング言語ではソースコードにプログラムを記述し、(コンパイル言語ならコンパイル後に)プログラムとして動作するのだ。

 同様の説明を用語集に転記しておいた。

ファイル拡張子について

 まずPHPのプログラムを書き始める前に、Apache(Webサーバ)が認識するファイル拡張子について説明する。Webサーバにファイル拡張子が「*.phpのURLでリクエストされると(例:http://xxxx.xxx.com/hoge.php)、WebサーバはPHPモジュールに処理を委譲する。PHPのプログラムはHTML埋め込みで書けるが、Apacheに認識させるためにソースコードの拡張子は「*.html」ではなく「*.phpとすること。なお、文字コード第4回のエントリーで説明した様にUTF-8を用いる。

 これも同様の説明を用語集に転記しておいた。

<?php で始まり・・・ ?> で終わる

 PHPプログラムをHTMLに埋め込める事は説明したが、HTML部分とPHP部分を区分けする必要がある。PHPの開始は <?php と記述し、そこから終了記号である ?>までをPHPプログラムとして認識する。それ以外はHTMLと見なしてブラウザが解釈する。つまり、<?php〜?>でくくられた部分をPHPの命令として認識するのだ。

1行の終わりは「;(セミコロン)」

 PHPプログラムに「この行はここで終わり」と認識させる記号がセミコロンである。ソースコード上の改行とセミコロンでは意味合いが異なる。PHPソースコード上は(大雑把に言えば)単語の途中以外ならだいたいどこでも改行は出来、セミコロンがあるところまでをプログラム上1行として認識する。1行が長くなりそうなら読みやすい様に改行を入れてもOKということだ。ちなみにセミコロンを書き忘れると、PHP実行時にエラーになる。最初は特にセミコロンを付ける事を忘れがちなので注意すること。

 HTMLを書いた事がある方なら分かるかも知れないが、HTMLタグには<br>タグがある。いくらHTMLソース上で改行してもブラウザの見た目で改行される訳ではなく、<br>タグを入れて始めてブラウザ上で改行されるのと感覚的には近い。

コメントについて

 プログラミング言語には「コメント」という機能があるものが多い。コメントとは、ソースコード上に処理の注釈やメモを残すために使う。複雑な処理や長いソースコードの場合、適宜コメントで処理の説明を書いておく事によってソースコードの可読性(目で追って読んだときの読みやすさ)がぐっと増す。コメントをいきなり書いてもPHPのプログラムとして解釈しようとしてエラーになるため、「ここからがコメントですよ」とPHPに認識させるための記号がいくつかある。1行のみのコメントと、開始記号と終了記号で囲う方法だ。下記の方法を使ってコメント化したソースコード上の文字列は、PHPからは無視されて実行されなくなる。

 1行のみの場合:// (スラッシュ2つ)
 →その行のスラッシュ2つから後はコメントとして解釈される
 
 複数行の場合:開始記号 /* 終了記号 */
 →複数行をまとめてコメント化したい場合に使用するが、1行内でも開始記号と終了記号を書く事は可能。

 なお、前述のPHP開始記号〜終了記号中でしか上記のコメントは有効にならない。HTMLエリアでこれを書いてもブラウザにそのまま出力されるだけなので注意。(HTML中にコメントを書きたい場合は<!-- コメントですよ -->の様に囲う)

 プログラムの動作確認(デバッグ)中に、問題切り分けのために1行(または何行か)だけ部分的にとりあえず無効にし、全体の動作を確認したい場合にもコメントは使う。無効にしたい行の行頭に//と書くとコメントアウトされる。コメント化されていない行をコメント化することを「コメントアウト」と呼ぶ。

関数について

 関数については何回か後の当講座の詳細に解説するが、簡単に言えば「プログラム上のある機能の固まり」だ。Excelでも関数は数多く用意されているが(SUMやROWなど)、概念としては同様と考えていい。PHPにも初めからよく使われそうなものが関数として用意されており、プログラマが自由に使うことが出来る。なお、とある機能を関数として定義して別の複数のプログラムから呼び出すことも可能だ。そうすることで同様のプログラムを複数箇所に書なくて済み、ソースコードの可読性も高まる。

その1の最後に・・・

 参考書や入門サイトだと割愛されがちなポイントで、特に初心者プログラマには重要な部分を中心に重点的に説明しました。参考にして頂けたら幸いです。その2では、変数や定数、および配列の説明を行います。