2012-05-28 3 views
25

방금 ​​PHP 객체에 대한 참조에서 백 슬래시를 사용하는 것을 보았고 궁금했습니다 (전에는 본 적이 없습니다). 무슨 뜻이에요?PHP의 백 슬래시 - 의미는 무엇입니까?

$mail = new SendGrid\Mail(); 

궁금하신 분은 SendGrid's documentation입니다.

+1

이 당신이 답을 찾을 수 있도록, http://stackoverflow.com/questions/4075521/backslash-syntax-when-creating-objects의 중복입니다. – 11684

+0

@ 11684 참으로 그걸 보았습니다 ... oops – Kyle

+0

이 위대한 게시물은 훨씬 더 자세하게 설명합니다. http://stackoverflow.com/q/4790020/6521116 –

답변

26

그들은 PHP namespaces을 사용하고 있기 때문입니다. 네임 스페이스는 PHP 5.3부터 새로 추가되었습니다.

+0

지금은 많은 프로젝트를 사용해야합니다. –

13

PHP의 네임 스페이스 연산자는 http://php.net/manual/en/language.namespaces.php입니다.

왜 이것이 백 슬래시인지 묻지 마십시오. 그것들은 (devo) 그들에게 결정을 내릴 수있는 가장 어리석은 선택 일 뿐이며, devs에게만 의미가있는 매우 기울어 진/딱딱한 채점 시스템을 기반으로합니다.

+2

글쎄, 백 슬래시가 최선의 선택이었습니다 (':::'또는'-> -''?를 사용 하시겠습니까?). – xfix

+0

@GlitchMr 일반 오브젝트처럼'->'하지 않는 것이 ... – jadkik94

+0

그럴 수도 있지만'-> Hello-> something()'은보기 흉하게 보일 것입니다. 그리고 PHP는 연산자가 한 번에 두 가지 의미가 있다고 생각하지 않습니다 (특히'Abc-> def()'가 처음으로'Abc'의 메서드라고 생각할 때). – xfix

6

이것은 네임 스페이스 구문입니다. PHP documentation에서 네임 스페이스에 대한 자세한 내용을 볼 수 있습니다. PHP 5.3 이상이 필요합니다. 예를 들어

:

namespace SendGrid; 
function Mail() { 
    // You can access this function by using SendGrid\Mail() externally 
}