コメントの付け方
そふぃのPHP入門 >> PHP言語リファレンス >> PHPの基本文法 >> コメントの付け方

コメントの付け方

PHPスクリプト中のコメント

  1. //~行末まで
  2. #~行末まで
  3. /**/まで。改行可。

コメントとは

PHPスクリプトを記述する際にはコメントを記述する事ができます。コメントとはPHPスクリプトの中にプログラムのの動作とは関係なく記述しておける文章で、HTMLやスタイルシートでもお馴染みだと思います。

PHPでのコメントには日本語ももちろん使う事ができます。コメントは主にプログラムの動作の補足説明を書いてプログラムの可読性を高めたり、一時的にプログラムからその行を削除したい場合などに使われます。追加する予定の行とか書きかけのスクリプトを書いておいて、コメントの機能でコメントアウトしておくのもいいと思います。よーするにスクリプト中にメモを書いておくような感覚で使えます。

コメントをつけておくと後からコードを見た時にどのような動作をしているのか分かりやすくなります。自分で書いたプログラムでも後から見ると「????」という事がありますので、コメントをつけて動作の説明をしておくと便利です。

HTMLや他のプログラム言語と同様、コメント部分は無視される仕組みになっていますので本来のプログラムには影響を与えません。

PHPのコメントの種類

PHPのコメントは次の3種類の形式をサポートしています。使いやすい方でも使い慣れてる方でもお好きなものをお使いください。

  1. //」以降、行末(改行)まで。(C++形式)
  2. #」以降、行末(改行)まで(シェル・Perl形式)
  3. /*」以降「*/」まで。間に改行を含む事ができます。(C形式)
実際にどのように書くかを見てみたいと思います。ファイル名「 sample2.php
<html>
<head>
<title>コメントテスト―そふぃのphp入門</title>
</head>
<body>
<?php
# スクリプトの開始。この部分はコメントです。

// printは文書を出力する命令なので、
// 「コメントの説明です」という文章を出力します。
print "コメントの説明です"; # 行末(改行)までなら行の後ろにつけられます。

/*    複数行のコメントならこの形式が使用できます。
何行改行しても構いませんが、この形式は入れ子にする事ができません。
*/

// スクリプトの終了。
?>
</body>
</html>

この色で表示されているのがコメントの部分です。コメントの色はPHPの標準設定色と同じにしています。実際に実行してみるとコメントの部分は実行されなかったのが分かります。実行結果の画面で「右クリック→ソースの表示」をして確認してみて下さい。

実行結果

コメント使用上の注意

1行タイプ

1行タイプのコメント「//」「#」は改行・またはPHPブロックの終わり(?>)までをコメントとします。

エディタソフトによっては横スクロールの手間をなくすため「右端で折り返し」のような機能をつけているものもありますが、ここでいう「改行」というのは実際のエディタで行が変わっているかどうかではなく、「Enter」キーなどを押して改行したかどうかを示します。もっと分かりやすいと思われるのは・・・・・・エディタによっては行番号が出てくると思いますがその行番号が変わっているかどうかで判断して下さい。

PHPブロックの終わりとは、?>でPHPが終了した時です。つまり、1行コメントの後PHPを終了して改行せずにHTMLなんていう場合にもHTML部分はちゃんと出力されます。これはPHPを終了した時点でそれまでのPHPブロックのコメントも終了したと解釈してくれるためです。

これでも、HTMLの部分はちゃんと出力される
<html>
<head></head>
<body>
<?php
// ?><p>段落</p>
</body>
</html>

複数行タイプ

複数行をコメントアウトできる「/* */」形式ですが、この形式は/*から*/までをコメントとしますので「*/」がないとエラーになります。また、この形式をネスト(入れ子)にするとエラーが生じます。

PHPエラー構文パースエラーが発生してしまう間違った構文―コメントのネスト

  1. <?php
  2. /* 
  3.  echo "コメントのネスト"; /* このコメントはエラーです */
  4.  */
  5. ?>

上記のように/* */形式のコメントをネストするとPHPはエラーを発生し、下のようなエラーメッセージを出力してスクリプトの実行ができませんので注意して下さい。

Parse error: parse error in (ファイルパスとエラー行数)

コメントをネストしたい時は「//」形式か「#」形式でネストして下さい。