Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Định nghĩa nhiều Namespace trong cùng file

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.