Giới thiệu
Nhiều namespace có thể được định nghĩa trong một file .php duy nhất. Có hai phương pháp: combination syntax (cú pháp kết hợp) và bracketed syntax (cú pháp ngoặc nhọn).
Nhiều Namespace với Combination Syntax
Hai namespace được định nghĩa một bên dưới cái kia. Tài nguyên trong namespace đầu tiên khả dụng cho đến khi định nghĩa thứ hai bắt đầu. Nếu muốn làm namespace nào thành current, nạp nó với từ khóa 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();
?>
Kết quả
myspace1 : Hello World from space1 myspace2 : Hello World from space2 Hello World from space2 Hello World from space2
Nhiều Namespace với Bracketed Syntax
Hai namespace được định nghĩa với phạm vi được đánh dấu bằng ngoặc nhọn:
<?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();
}
?>
Kết quả
myspace1 : Hello World from space1 myspace2 : Hello World from space2
Khuyến nghị: Bracketed syntax cho nhiều namespace được khuyến nghị hơn combined syntax. Bracketed và unbracketed namespace không thể trộn lẫn. Trừ câu lệnh declare ở đầu, không có code PHP nào khác được phép tồn tại bên ngoài ngoặc nhọn namespace. Nếu phải kết hợp global namespace với named namespace, chỉ bracketed syntax được phép.