Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

  1. トップページ
  2. PHP入門編 - コメントとコメントアウトとは

コメントとコメントアウトとは

みなさまどうも。

続きまして『コメント』とか『コメントアウト』とかやっていきましょう。『コメント』機能はHTMLでもありますね。PHPに限らずほぼ全てのプログラム言語で『コメント』機能は存在します。『コメント』を付けたり、『コメント』化することを「コメントアウトする」なんて言ったりしますね。なので『コメント』が名詞で、『コメントアウト』が動詞な気がします。

では改めて『コメント』とはどういうものなのか、というところからいきましょう。プログラム言語によって『コメント』の記法は様々なんですが、共通の機能として『コメント』の部分はプログラムとして実行されることはない、という感じになっています。

というわけでHTMLの『コメント』をちょっと思い出してみましょう。HTMLの『コメント』は以下のような感じです。

<!-- ここはコメントです。 -->

HTMLではこのように記述することで『コメント』扱いとなり、『コメント』の部分はブラウザにレンダリングされることはありません。

しかし、ここでちょいとHTMLの『コメント』の注意点を思い出してみましょう。HTMLの『コメント』はレンダリングされないだけでテキストファイルとしては普通に存在してしまっています。ということはブラウザで閲覧しているユーザーさんがブラウザで『ソースコードをそのまま表示』とかしちゃった場合は『コメント』部分を普通に読むことができちゃいます。

<!-- HTMLの『コメント』は閲覧者が普通に閲覧できてしまいますので以下のように公開前の情報などを記述するともれなく事案発生になります。 -->
<!-- エンジニアさんへ。以下の項目は2/7に公開してください。 -->
<!-- <a href="/new.html">ドラゴンオブファンタジー12の発売日が3/7に決定しました!</a> -->

しかし、PHPなどの動的言語では『コメント』の部分はプログラムとして実行されない、つまりテキストファイルとして出力されることはないため好きなだけ未公開情報なんかを書くことができます。

<?php
// PHPの『コメント』ならばテキストファイルとして出力されることはないため、好きなだけ未公開情報とか上司の悪口とかチラシの裏に書くべき切ない嘆きとかを書くことができます。
// エンジニアさんへ。以下の項目は2/7に公開してください。
// <a href="/new.html">ドラゴンオブファンタジー12の発売日が3/7に決定しました!</a>

なのでPHPでウェブサイトとかを実装する際は『HTMLのコメント』ではなく、なるべく『PHPのコメント』を使用するようにすると良いかもしれません。

では続きましてPHPの『コメント』の文法とかやっていきましょう。PHPにおいての『コメント』は『一行コメント』と『ブロックコメント』の2種類があります。

まずは『一行コメント』の記法からやっていきましょう。『//』または『#』を付ければその部分から先はコメント扱いとなります。どっちが多数派か、といわれると半々くらいかなといった印象なので、お好きな方を使って大丈夫だと思います。

<?php
// これは『コメント』です。
# これも『コメント』です。

PHPにおける『一行コメント』の注意点として、『一行コメント』の終わりと判定される部分は『改行』または『PHPブロックの終了タグ』です。特に『PHPブロックの終了タグ』で『コメント』が終わってしまう挙動にはお気をつけください。HTML組み込みに特化したPHPならではの注意点ってところですね。

<?php
// これは『コメント』です。
// ここは『コメント』です。?>ここはPHPブロックの外なので『コメント』じゃないです。普通に出力されちゃいます。

続いて『ブロックコメント』です。こちらは複数行の『コメント』といった感じです。記述方法は『/*』と『*/』で囲むだけでOKです。その部分は『コメント』になります。

<?php
/*
ここはコメントです。
複数行記述できます。
*/
?>

他のプログラム言語でも言えるのですが、『/*』と『*/』を入れ子にしないように注意するようにしてください。以下のサンプルでは最初に登場した『*/』でコメント終了と判断されてしまうため、『*/』が残ってしまいエラーとなります。

<?php
/*
/*
こんな感じで入れ子構造にすると変なことになります。
*/
*/
?>

そして『一行コメント』とは違い、『PHPブロック』の終了タグでもコメントが終了しません。

<?php
/*
PHPブロックの終了タグでもコメントが終了しません。
?>ああ
*/
echo 'Hello world';

『?>』の記述もちゃんと『コメント』として扱ってくれる、といったイメージですね。こちら間違いやすいので注意しましょう。

というわけでPHPでの『コメント』については以上になりますね。次の記事ではPHPにおいての『文』とか空白文字とか改行とかタブ文字の扱いなんかを確認していきたいと思います。

ではではこの辺で。またお会いしましょう。

この記事は桜舞が執筆致しました。

著者が愛する小型哺乳類

桜舞 春人 Sakurama Haruto

ISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。