소개
확장자가 .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 코드가 존재할 수 없습니다. 전역 네임스페이스를 명명된 네임스페이스와 결합해야 하는 경우 대괄호로 묶인 구문만 허용됩니다.