문제

PHP 함수 이름이 밑줄로 시작할 때란 무엇을 의미합니까?

예를 들어: __construct()

나는 구성의 의미를 알고 있지만 함수가 밑줄이나 이중 밑줄로 시작하는 다른 장소를 보았으며 그 의미를 확신하지 못합니다.

도움이 되었습니까?

해결책

그것은 PHP가 암시 적으로 호출한다는 것을 의미합니다.

'마법 방법'이라고합니다.

또한, 그것은 하나가 아니라 두 밑줄입니다.

여기에서 자세히 알아보십시오 : PHP 마법 방법

다른 팁

PHP에서 기능은 일반적으로 특별한 의미를 갖는 두 밑줄로 시작합니다. 매뉴얼에서 :

PHP는 __로 시작하는 모든 기능 이름을 마법으로 보유합니다. 문서화 된 마법 기능을 원하지 않는 한 PHP에서 __과 함께 함수 이름을 사용하지 않는 것이 좋습니다.

예를 들어 __construct ()는 객체를 초기화하는 동안 자동으로 호출되는 특수 메소드입니다.

SE도 : http://php.net/manual/en/language.oop5.magic.php

또한 메소드 또는 속성이 개인/보호임을 나타 내기 위해 하나의 초기 밑줄을 사용하는 일반적인 이름 코딩 스타일 "도 있습니다. 나는 그것이 널리 퍼져 있다고 생각합니다.

다른 답변에서 언급했듯이, 이중 밑줄은 "마법"방법에 사용됩니다. 아이디어는 사용자가 메소드 이름에 의도적으로 두 밑줄을 사용하지 않으므로 충돌의 위험이 거의 없다는 것입니다. 그것이 단일 밑줄이 아닌 이유는 '개인'키워드가 사생활을 강제하기 위해 나오기 전에 단일 밑줄이 나쁜 (der) 옛날에 개인 방법에 대한 인기있는 협약이기 때문입니다.

CodeIgniter에서 밑줄이있는 컨트롤러에서 메소드를 시작하면 라우터는 URL에서 액세스 할 수 없다는 것을 알게됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top