PHP의 변수에 대한 주요 명명 규칙은 무엇입니까 : camelcase 또는 밑줄? [닫은]


51

합의는 개발중인 플랫폼의 규칙을 따라야한다는 것 같습니다. 보다:

밑줄 또는 낙타?

명명 규칙 : camelCase와 underscore_case?

그러나, PHP는 엄격 심지어 메서드와 함수 (예를 들어, (어떤 거기의 놀람) 내부적으로 어떤 규칙을 따라하지 않는 것 mysqli::set_local_infile_default, PDOStatement::debugDumpParams); 그러나 함수 이름에서 밑줄이 지배적 인 것 같습니다.

그러나 내가 찾을 수 없었던 것은 이것입니다 : PHP의 변수에 대한 지배적 명명 규칙은 무엇입니까?


하나를 고르세요. 당신이 고집하는 한, 당신이 어떤 것을 고를지는 중요하지 않습니다. 탭 대 공백과 동일합니다.
yannis

2
나는 관련 토론에서 널리 퍼져있는 의견에 강력히 동의합니다. 협약을 따라야합니다. 그래서 질문의 범위를 PHP로 제한했습니다. 그러나 PHP에서 지배적 인 명명 규칙 있는지 궁금해 하고 있습니다.
sbichenko

5
명명 규칙은 아직 PHP를 매우 훌륭하게 만드는 불일치 중 하나입니다. PSR은 내가 따를 가치가 있다고 생각하는 하나의 노력이지만, 전적으로 당신에게 달려 있습니다. 관련 질문 : PHP에 대한 표준 스타일 가이드가 있습니까? & Bootstrap 3가 camelCase를 대시로 변경하는 이유는 무엇입니까? .
yannis

이 질문은 당신을 도울 수 있습니다 : programmers.stackexchange.com/questions/149303/…
programmer

제 1 회 링크는 죽은 그러나 여기 아카이브는 다음과 같습니다 web.archive.org/web/20130417105957/http://stackoverflow.com/...
드미트리 Zaitsev

답변:


50

PHP에는 명확한 명명 규칙이 없으며 프레임 워크에 따라 다릅니다.

따라서 : 프레임 워크에서 사용하는 것을 사용하거나 고유 한 명명 규칙을 만드십시오.

함수 이름과 클래스 메소드 적어도,이 고려해야 할 한 가지이지만, 일부 프레임 워크는 폐기 : PHP 그 경우 대소 문자를 구분 하므로, aTonalFunction()atonalFunction()같은 기능을 모두 호출합니다.


1
methond 이름 지정 논쟁에 반대하는 것은 없지만 그것은 절대로 관습이 아닙니다. Zend Framework 2 , Doctrine 2Symfony 2 와 같은 모든 최신 프레임 워크 및 라이브러리 는 메소드 이름으로 camelCase를 사용합니다.
Rudolph Gottesheim

@RudolphGottesheim 좋은 지적입니다. 그에 따라 답변을 편집했습니다.
Residuum

1
흥미 롭군 워드 프레스의 코딩 규칙이 부적절하다는 것을 알았 기 때문에 여기에 왔습니다. 이제는 적어도 그들이 그것이 부당하지 않다는 것을 알았습니다
Kirby

14

PHP로 10 년 이상 코딩하면서 언더 스코어에서 카멜 케이스로의 변화를 볼 수 있습니다. 특히 Zend 및 Symfony와 같은 더 큰 프레임 워크는 밑줄을 금지하지는 않지만 camelCase에 구축되지만 모든 핵심 기능은 camelCase입니다.

구형 Typo3 브랜치 (Typo3 Neo도 camelCase로 변경)와 같은 구형 시스템에서 많은 밑줄 솔루션을 볼 수 있습니다.

그러나 모든 사람이 사용하는 엄격한 규칙은 없습니다. 지난 몇 년 동안 제가 볼 수있는 것입니다.


1

이는 프로그래머 / 개발자뿐만 아니라 작업중인 프레임 워크 또는 오픈 소스에 따라 다릅니다. 예를 들어, Yii 프레임 워크에서는 낙타 문자를 사용하는 것이 좋으며 Codeigniter 프레임 워크에서는 대부분의 사람들이 밑줄로 변수 이름을 따릅니다. 한 가지 확실한 점은 사용하는 프레임 워크에 관계없이 변수 이름을 이해하고 식별 할 수 있어야한다는 것입니다.


0

개인적으로 이것은 어느 쪽이든 갈 수 있습니다. 일부 프로그래머는 CamelCase 작성 방식을 선호하고, 다른 프로그래머는 밑줄을 선호합니다 ... 따라서 이런 질문을하는 것은 각 프로그래머가 각자 다른 의견을 가질 것이기 때문에 무의미합니다. ..

상황 하나 :

프로그래밍 팀에 합류하고 진행중인 프로젝트에 합류했습니다. 예제 변수가 설정되어 있습니다.

$theString = "This is a camelcase example";

그러나 선호하는 스타일은 다음과 같습니다.

$the_string = "This is not a camelcase example"; 

이와 같은 상황에서는 낙타를 보관하는 것이 가장 좋습니다.

상황 2 :

프로젝트 솔로를 시작하려고합니다.

이런 종류의 경우 ... 그것은 단지 당신이 편안하다고 느끼는 것으로 내려 가고, 나쁜 관행을 명심하십시오 :

$theString = "This is a sample String"; 
$the_string = "This is another sample string within the same project"; 

이것은 예기치 않은 출력을 쉽게 일으킬 수 있습니다. 명심하십시오.


9
참고로, 당신이 말하는 것은 PascalCase입니다-camelCase는 소문자로 시작합니다.
John Weisz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.