PHP에서 주석을 달기 위해 해시 기호 (#)를 사용할 수 있습니까?


144

필자는 #주석 처리를 위해 해시 ( )를 사용하는 PHP 파일을 본 적이 없다 . 그러나 오늘 나는 실제로 할 수 있다는 것을 깨달았습니다! 나는 모두가 //대신 대신 사용하는 이유가 있다고 가정 합니다. 그래서 여기 있습니다.

개인적 선호를 제외하고 의견 //보다는 사용해야 할 이유가 #있습니까?


16
해시 태그가 아닌 해시 (또는 사용자가 거주하는 국가에 따라 파운드 또는 제곱)입니다. 해시 태그는 Twitter에서 컨텐츠를 분류하는 수단입니다.
Quentin

HTML 이스케이프에 해당하는 & # 35; 코드에 # 기호가 필요한 경우
dotoree

22
나는 생각 #... 기호 해시 태그를 불렀다 :(에 투표를 아래로 너무 많이 어떠한 이유 레슨 배운 없습니다.이
Hubro

3
내가 사용하려면 #, 한 줄 주석에 대한 //코드를 주석에 대한 & /* ... */주석 블록
존 목련

답변:


163

질문에 대한 답변 PHP에서 한 줄 주석에 "#"과 "//"를 사용 하는 것에 어떤 차이 가 있습니까? 없는 .

다른 점이 없다. PHP 소스 코드의 구문 분석 부분을 살펴보면 "#"과 "//"는 동일한 코드로 처리 되므로 동일한 동작을 갖습니다.


3
N ++ (6.55)가 항상 #주석을 올바르게 접을 수있는 것은 아닙니다 . 큰 PHP 파일에서 2k 줄 이상을 발견했습니다. 때로는 여러 #에서 코드를 접기 시작합니다.
CoR

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은 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

개인적 선호를 제외하고 댓글에 # 대신 //를 사용해야하는 이유가 있습니까?

나는 그것이 단지 개인적인 취향 일 뿐이라고 생각합니다. //와 사이에는 차이가 없습니다 #. 개인적 #으로 한 줄 주석, //코드 주석 및 /** */블록 주석에 사용합니다.

<?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';
?>

나는 //대부분의 사람들이 코드를 주석 처리 할 때 사용하기 때문에 일반 코드 주석 에 사용 하고 싶습니다 . 그리고 나는 #주석 처리 된 코드가 아니라 설명하려는 주석에 사용합니다. /**/하나의 라이너를 피 하면 /**/해당 코드 내에`/ ** /가있는 코드 를 사용하려고 할 때 열기 / 닫기 충돌이 줄어 듭니다 . 그리고 그것은 나쁘다.
ahnbizcad

5

하나는 생각 것을 #주석의 형태는 주로 친숙한 "오두막"(#!) 표기법을 사용하여 쉘 스크립트를 확인하기위한 것입니다. 다음 스크립트에서 PHP는 첫 번째 행도 주석이므로 무시해야합니다. 예:

#!/usr/bin/php
<?php

echo "Hello PHP\n";

실행 파일에 저장하면 다음과 같은 터미널에서 실행할 수 있습니다

./hello

출력은

Hello PHP

그러나 다음과 같은 반례가 보여주는 것처럼이 추론은 올바르지 않습니다.

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

#B
echo "Hello PHP\n";

첫 번째 줄 (shebang 줄)은 통역사가 특별히 무시합니다. PHP 태그 앞에있는 주석 행은 PHP 태그 안에 없기 때문에 표준 출력으로 에코됩니다. PHP 태그를 시작한 후의 주석은 PHP 코드로 해석되지만 주석이므로 무시됩니다.

수정 된 버전의 출력은

#A
Hello PHP

13
실제로 shebang은 PHP 코드 외부에 있으므로 PHP에 대한 주석이 아닙니다 . 를 제거하고 명령 행을 !통해 파일을 실행하십시오 php. "# / usr / bin / php"가 인쇄됩니다. shebang이 무시되는 이유는 PHP가 파일의 시작 부분에서 shebang 행을 인식하고 무시하기 때문입니다.
Ninj

php7.4를 사용하면 두 주석이 모두 에코됩니다. 따라서 띠는 전혀 무시되지 않습니다.
Chargnn

0

팀 / 프로젝트에서 규칙 세트를 설정하면 두 가지 유형의 주석을 사용하여 주석이 달린 코드의 목적을 설명 할 수 있습니다.

예를 들어 #구성 설정, 하위 기능 및 일반적으로 유용하거나 중요하지만 현재 비활성화되어있는 코드를 음소거 / 비활성화하는 데 사용 하고 싶습니다 .


나는 정반대지만 본질적으로 같은 일을하고 싶습니다. 하나는 코드 주석에 사용하고 다른 하나는 설명 주석에 사용하십시오.
ahnbizcad

@ahnbizcad 설명을 위해 주석 블록을 사용하는 것이 좋습니다 / ** * * /
d.raev

왜. ---- /-/-/-/
ahnbizcad

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 문화에서 더 많이 사용되지만 사용하는 #것도 좋습니다. 나는 더 짧고 바이트를 절약하기 위해 개인적으로 그것을 좋아합니다. 그것은 개인적 취향이며 편향되어 있으며, 물론 그것이 표준이 될 때까지는 정답이 없습니다.


Computer Science 영역에서 표준의 문제점은 표준을 만들려면 최상의 옵션이 있어야하며 Computer Science에서 최상의 옵션과 같은 것은 없다는 것입니다. 잘못된 옵션과 더 나은 옵션 만 있습니다. 그러나 "최상의 옵션"은 존재하지 않습니다.
Blue Water

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/04/23 기준으로 링크가 유효 / 작동했습니다.)


0

개인적 선호를 제외하고 댓글에 # 대신 //를 사용해야하는 이유가 있습니까?

나는 대답 자신을 위해 여기 와서 알고 그것의 좋은가 NO의 코드 차이.

그러나 환경 설정 측면에서는 'shell-> perl-> php'주석 일관성과 'c-> php'방식을 선호한다고 주장 할 수 있습니다.

가난한 사람의 웹 펄로 PHP에 접근했기 때문에 # ..을 사용하고 있었고 다른 사람의 코드를 보았고 바로 왔습니다. ;)


-8

"#"주석은 PHP 5.3에서 더 이상 사용되지 않습니다. 항상 // 또는 / ... /를 사용하십시오.


21
INI 파일 에서만 사용되지 않습니다 .
DisgruntledGoat

@DisgruntledGoat 공식 문서에 대한 언급이 있습니까?
Wilt

1
php.net에서 직접 : '#'로 시작하는 주석은 이제 .INI 파일에서 더 이상 사용되지 않습니다.
Wilt

4
안드레,이 답변을 삭제해야 할 때입니다.
Jose Manuel Abarca Rodríguez

1
적은 연구! 당신을 잃게 만드십시오 :) 그러나 이것은 또한 #이 INI 파일에서 더 이상 사용되지 않는다는 것을 알도록 도와줍니다.
Abdul Manan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.