コメントアウトしたはずなのに、何故かコメントできずにブラウザに表示されてしまったり、レイアウトが崩れてしまった経験はないでしょうか。
特にHTMLの中にPHPを埋め込んで使う時に起きることが多いようです。
ここではPHPのコメントの基本から、HTMLとPHPをまとめてコメントする方法、何故かコメントアウトできないよくあるパターンをご紹介します。
コメントアウトにつまずいたら、ここをチェックすれば「なんだそんなことか!」と拍子抜けするほど簡単に解決できるでしょう。
目次
PHPでのコメントアウトは3パターン
行頭に「//」を付ける。
一行のみコメントする場合に適しています。
<?php
echo 'hello!how low?'; // ここはコメントアウトされます。
// ここもコメントアウトされます。
?>
コメント範囲を「/**/」で囲う。
複数行コメントする場合はこちらです。
<?php
echo 'hello!how low?'; /* ここから
echo 'コメントアウト中';
ここまでコメントアウトされます。*/
echo 'ブラウザに表示されています。';
/* 閉じタグを跨いだコメントアウトもできる!
echo 'コメントアウト中';
?>
<?php
echo 'まだコメントアウト中だよ';
ここまでコメントアウトされます。*/
echo 'hello!how low??';
?>
PHPのタグ<?PHP ?>
を跨いでのコメントアウトもできます。
行頭に「#」を付ける。(非推奨)
この方法は非推奨だが、コメントアウト可能です。
<?php
echo 'hello!how low?';
# これもコメントアウトされます。
?>
HTMLが絡んだ場合のコメント
HTMLが絡んだ場合のコメントアウトは以下のように記述すると良いでしょう。
PHPのコメント「/**/」を使用する。
PHPのコメントを使用する場合、コメントアウトしたい範囲を<?php ?>
で囲い、以下のように記述する必要があります。
<?php
/* <p>コメントアウトされます。
<?php echo 'ここもコメントアウトされます。'; ?></p>
*/
?>
以上の方法で、HTMLに埋め込まれたPHPコードも丸ごとコメントアウトできます。
コメントアウトが出来ない!
コメントアウトしたつもりが、全然コメントになってなくてブラウザに表示されて「ギョッ?」とすることもあります。
そんな時は以下の項目をチェックしてみましょう。
HTMLのコメント「<!- - - ->」を使用している
PHPタグ内でHTMLのコメントで囲うと、当然のようにコメントアウトされません。
<?php
<!--
echo コメントアウトされない;
-->
?>
HTMLコードも含めてPHPのコメント「//」を使用している
PHPのコメントでも、HTMLとPHPをまとめて//
でコメントアウトすると、1行でもPHPの閉じタグ以降はコメントアウトされません。
1行でも/**/
のコメントタグを使用しましょう。
<?php // <p>コメントアウトされますよ。<?php echo '38歳'; ?>←PHPの閉じタグ以降はコメントアウトされません!<p> ?>
コメントアウトが入れ子(ネスト)になっている
PHPのコメント/**/
は入れ子には出来ません。
最初の閉じタグで全て閉じられてしまいます。
/* echo 'コメントアウトされます。';
/* echo 'コメントアウトされます。'; */
echo 'コメントアウトされません!!!'; */
上記の例だと、二行目最後の*/
閉じタグで全て閉じられてしまいますので、それ以降はコメントとして扱われません。
コメントアウトは入れ子にならないようにしましょう。
PHPタグの外でコメントアウトしている
PHPのコメントアウトはPHPタグ内でしか効果はありません。
/*<?php
echo 'PHPタグの外でコメントアウトしているので、コメントされませんよ!';
?>*/
PHPはHTMLに埋め込んで記述することも多いため、うっかりPHPタグの外で/* */
のコメントタグを使っていたり、PHPの中で<!-- -->
のコメントタグを使っていた…なんてことがあったりします。
該当ソースはHTMLなのかPHPなのかを意識しながら、コメントアウトを活用していきたいですね。
コメントアウト混じりのPHPソースを一気にコメントアウト
以下のようなコメントアウト混じりのソースで、一気に全部コメントアウトする方法をご紹介します。
<?php
// まずはあいさつ
echo 'hello!howlow?';
// 要望
echo '一気にコメントアウトしたい。';
echo 'サクッとコメントアウトしたい。';
// 最後に一言!
echo '一気にコメントアウトしたいの!!';
?>
上記のように飛び飛びでコメントアウトが挿入されていると、1行ごとにコメントアウトするのが大変な手間となります。
そこで、以下のように/**/
で一気にコメントアウトできます。
<?php
↓「/**/」のコメントアウトで一気に挟む
/*
// まずはあいさつ
echo 'hello!howlow?';
// 要望
echo '一気にコメントアウトしたい。';
echo 'サクッとコメントアウトしたい。';
// 最後に一言!
echo '一気にコメントアウトしたいの!!';
*/
?>
わたくしの場合、コメントアウトは基本//
で行うようにしています。
上記のように一気にコメントアウトすることになっても対応できますし、複数行まとめてコメントアウトするときもテキストエディタのショートカットキーで簡単にできます。
これで1行ずつコメントアウトする作業からも解放されますね。
HTMLごとコメントしたい時いいわな。、
ありがとうございました。
この記事のおかげさまで、無事に解決しましたありがとうございます。
コメント頂きありがとうございます。お役に立てたようで何よりです。今後とも分かりやすい記事作成を心がけてまいりますのでよろしくお願いいたします。