소개
확장자가 .php인 단일 파일에 둘 이상의 네임스페이스를 정의할 수 있습니다. 목적을 위해 규정된 두 가지 다른 방법이 있습니다. 조합 구문 및 대괄호 구문
조합 구문이 있는 다중 네임스페이스
이 예에서는 두 개의 네임스페이스가 다른 하나 아래에 정의되어 있습니다. 첫 번째 네임스페이스의 리소스는 두 번째 정의가 시작될 때까지 사용할 수 있습니다. 네임스페이스를 현재로 만들고 싶다면 use 키워드로 로드하세요.
예시
<?php namespace myspace1; function hello() { echo "Hello World from space1\n"; } echo "myspace1 : "; hello(); namespace myspace\space2; function hello(){ echo "Hello World from space2\n"; } echo "myspace2 : "; hello(); use myspace1; hello(); use myspace2; hello(); ?>
출력
위 코드는 다음 출력을 보여줍니다.
myspace1 : Hello World from space1 myspace2 : Hello World from space2 Hello World from space2 Hello World from space2
대괄호로 묶인 구문이 있는 여러 네임스페이스
다음 예제에서는 중괄호로 표시된 범위를 사용하여 두 개의 네임스페이스를 정의합니다.
예시
<?php namespace myspace1{ function hello() { echo "Hello World from space1\n"; } echo "myspace1 : "; hello(); } namespace myspace\space2{ function hello(){ echo "Hello World from space2\n"; } echo "myspace2 : "; hello(); } ?>
출력
위 코드는 다음 출력을 보여줍니다.
myspace1 : Hello World from space1 myspace2 : Hello World from space2
여러 네임스페이스에 대한 대괄호 구문은 결합된 구문보다 권장됩니다. 대괄호로 묶인 네임스페이스와 대괄호 없는 네임스페이스를 혼합할 수 없습니다. 여는 선언문을 제외하고는 네임스페이스 대괄호 외부에 다른 PHP 코드가 존재할 수 없습니다. 전역 네임스페이스를 명명된 네임스페이스와 결합해야 하는 경우 대괄호로 묶인 구문만 허용됩니다.