PHPでコメントにハッシュ記号(#)を使用できますか?


144

#コメントにハッシュ()を使用するPHPファイルを見たことはありません。しかし、今日、私は実際にできることがわかりました!でもみんなが//代わりに使う理由があると思いますので、ここにいます。

個人的な好み//以外に#、コメントではなく使用する理由はありますか?


16
これは、ハッシュタグではなく、ハッシュ(または、使用している国に応じて、ポンドまたは正方形)です。ハッシュタグは、Twitterのコンテンツを分類する手段です。
クエンティン

同等のHTMLエスケープ#を使用できます。コードに#記号が必要な場合
dotoree

22
#シンボルはハッシュタグと呼ばれていると思いました... :(それほど多くの反対票を投じる理由はありません。教訓
Hubro

3
1 #行コメント、//コードの/* ... */コメントアウト、コメントブロックに使用したい
John Magnolia

回答:


163

質問への回答PHPの単一行コメントに "#"と "//"を使用することに違いはありますか?はありません

違いはありません。PHPソースコードの解析部分を見ると、"#"と "//"の両方が同じコードで処理されているため、動作はまったく同じです。


3
N ++(6.55)は常に#コメントを正しく折りたたむことができないことに注意してください。大きなPHPファイル:2k行以上に気づきました。時々それは複数の#でコードを折り畳み始めます。
CoR 2014

1
私は#コメントよりコメントを好み//ますが、#PSRに準拠しているかどうかは常に疑問に思っていました。
Stphane

5
ハッシュはルートを説明するときに役立ちます。# /news (code here)の代わりに// /news (code here)。2k LoCファイルに関しては、使用するコメントタグ以外にも問題があると思います:)
Juha Untinen

11

PHPのドキュメントでは、コメントのさまざまな可能性について説明しています。http://www.php.net/manual/en/language.basic-syntax.comments.phpを参照してください

ただし、「//」と「#」の違いについては何も述べられていません。したがって、技術的な違いはありません。PHPはC構文を使用しているため、ほとんどのプログラマーがCスタイルのコメント「//」を使用しているのはそのためだと思います。


1
または、perl構文を使用します。この場合、「#」が表示されます。そして、perlはunix-eyシェルからコメント構文を取得します。
Gerard ONeill

7
<?php
    echo 'This is a test'; // This is a one-line C++ style comment
    /* This is a multi-line comment.
       Yet another line of comment. */
    echo 'This is yet another test.';
    echo 'One Final Test'; # This is a one-line shell-style comment
?>

RTM


// Cスタイルのコメント
Blue Water

6

個人的な好み以外に、コメントに#ではなく//を使用する理由はありますか?

個人的な好みだと思います。//とに違いはありません#。個人的には#、1行コメント、//コードのコメントアウト、/** */ブロックコメントに使用しています。

<?php
    # This is a one-line comment
    echo 'This is a test';

    // echo 'This is yet another test'; // commenting code

    /** 
     * This is a block comment
     * with multi-lines 
     */
    echo 'One final test';
?>

//通常のコードコメントに使用するのが好きです。それは、ほとんどの人がコードをコメントアウトするときに使用するものだからです。また#、コメント化されたコードではなく、説明を目的としたコメントに使用しています。/**/1つのライナーを回避すること/**/で、そのコード内に `/ ** /があるコードで使用しようとすると、開始/終了の競合が減少します...終了が早まってしまいます。そしてそれは悪いです。
ahnbizcad 2016年

5

#コメントの形式は、おなじみの "シェバン"(#!)表記を使用してシェルスクリプトを作成することを主な目的としていると考える人もいるかもしれません。次のスクリプトでは、最初の行はコメントでもあるため、PHPは最初の行を無視する必要があります。例:

#!/usr/bin/php
<?php

echo "Hello PHP\n";

実行可能ファイルに保存すると、次のようにターミナルから実行できます

./hello

出力は

Hello PHP

ただし、次の反例が示すように、この推論は正しくありません。

#!/usr/bin/php
#A
<?php

#B
echo "Hello PHP\n";

最初の行(シバン行)は、インタープリターによって特別に無視されます。PHPタグの内側にないため、PHPタグの前のコメント行は標準出力にエコーされます。開始PHPタグの後のコメントはPHPコードとして解釈されますが、コメントであるため無視されます。

改訂版の出力は

#A
Hello PHP

13
実際、シバンはPHPコードの外にあるため、PHP に対するコメントではありません。を削除してみて、コマンドライン!からファイルを実行します。php「#/ usr / bin / php」と出力されます。シバンが無視されるのは、PHPがファイルの先頭でシバン行を認識して無視するためです。
Ninj

php7.4を使用すると、両方のコメントがエコーされます。したがって、彼女のバンドはまったく無視されません(またはもはや無視されません)。
Chargnn

0

チーム/プロジェクトでいくつかのルールセットを確立した場合、コメントされたコードの目的を概説するために2種類のコメントを使用できます。

たとえば#、構成設定、サブ機能、および一般的に有用または重要であるが現在は無効になっているコードの一部をミュート/無効にするために使用したいと思います。


私は反対のことをするのが好きですが、本質的には精神的に同じです。1つはコードのコメントに使用し、もう1つは説明のコメントに使用します。
ahnbizcad 2016年

@ahnbizcad説明にはコメントブロックを使用することをお勧めします/ ** * * /
d.raev

なぜ。---- /-/-/-/
ahnbizcad 2016年

0

そのための公式のPSRはありません。

ただし、すべてのPSRサンプルコードでは//、インラインコメントに使用されます。

標準化を目的としたPSR-2拡張提案がありますが、公式ではありません:https : //github.com/php-fig-rectified/fig-rectified-standards/blob/master/PSR-2-R-coding- style-guide-additions.md#commenting-code

//PHPカルチャではより一般的に使用されますが、使用すること#もできます。私は個人的に、短くてバイトを節約できるので気に入っています。それは個人的な好みであり、偏見があります。もちろん、それが標準になるまでは、正解はありません。これは、できる限り従うべきものです。


コンピュータサイエンスの分野での標準に関する問題は、標準を作成するためには最良の選択肢が必要であり、コンピュータサイエンスでは最良の選択肢など存在しないということです。間違ったオプションとより良いオプションしかありません。しかし、「最良の選択肢」は存在しません。
ブルーウォーター

0

はい。ただし、プラットフォーム間で違いがあります。

PHPでは常にコメントに#を使用していますが、採用の違いに気づきました。

Windowsキーボードでは、#キーは使いやすいです。Macキーボードでは、#キーはほとんど存在しません。

したがって、Macユーザーの場合、[Alt] + [3]または[⌥] + [3]は//よりも入力が難しいため、//コメント付きのコードを表示するクロスプラットフォームの方法になっています。

これは私の観察です。


0

https://php.net/manual/en/migration53.deprecated.phpから

「PHP 5.3.xで非推奨となった機能...「#」で始まるコメントは、.INIファイルでは非推奨になりました。」

そこにあります。ハッシュ '#'は非推奨ではないため、デフォルトではコメントオプションとして残っているようです。ネストされたif / elseステートメントのさまざまなレイヤーを区別してそれらの閉じ角かっこをマークするために使用したり、他の人が関連する投稿で提案したようにコードコメントとコメント化されたコードを区別したりする予定です。(注:リンクは有効でした/ 19年4月23日時点で機能していますが、これを読んでいるときにリンクがまだ機能するかどうかは誰にもわかりません。)


0

個人的な好み以外に、コメントに#ではなく//を使用する理由はありますか?

私は答え自分のためにここに来た、と知ってその良いはありNOのコード差。

ただし、好みに応じて、 'c-> php'の方法よりも 'shell-> perl-> php'のコメントの一貫性を好むと主張することもできます。

私はphpを貧しい人のwebby perlとしてアプローチしたので、私は#..を使用していました。その後、他の誰かのコードを見て直接SOに行きました。;)


-8

「#」を含むコメントは、PHP 5.3では非推奨です。したがって、常に//または/ ... /を使用してください


21
これらはINIファイルでのみ非推奨です
DisgruntledGoat 2013

@DisgruntledGoat公式ドキュメントへの参照はありますか?
Wilt

1
php.netから直接: 「#」で始まるコメントは.INIファイルで非推奨になりました。
Wilt

4
アンドレ、この答えを削除する時がきたかもしれません。
ホセマヌエルアバルカロドリゲス2016

1
少ない研究!あなたを失う:)しかし、これは#がINIファイルで非推奨であることを知るのにも役立ちます
Abdul Manan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.