Giới thiệu
Một tính năng quan trọng của không gian tên là khả năng tham chiếu đến tên đủ điều kiện bên ngoài với bí danh hoặc nhập khẩu. Không gian tên PHP hỗ trợ các loại bí danh hoặc nhập khẩu sau -
- bí danh tên lớp,
- ghép tên giao diện,
- bí danh tên không gian tên
- răng cưa hoặc nhập hàm và các tên không đổi.
Trong PHP, bí danh được thực hiện với toán tử sử dụng.
sử dụng toán tử
Ví dụ
#test1.php <?php namespace mynamespace; function sayhello(){ echo "Hello from mynamespace\n"; } sayhello(); namespace mynewspace; function sayhello(){ echo "Hello from my new space\n"; } sayhello(); use \mynewspace\sayhello as hello; ?>
Đầu ra
Hello from mynamespace Hello from my new space
kết hợp nhiều câu lệnh sử dụng
Ví dụ
<?php namespace mynamespace; class myclass{ function test() { echo "myclass in mynamespace\n"; } } class testclass{ static function test() { echo "testclass in mynamespace\n"; } } use \mynamespace\myclass as myclass, \mynamespace\testclass; $a=new myclass(); $a->test(); $b=new \mynamespace\testclass(); $b->test(); ?>
Đầu ra
myclass in mynamespace testclass in mynamespace
Nhập và tên động
thay thế động của lớp đã nhập
Ví dụ
<?php namespace mynamespace; class myclass{ function test() { echo "myclass in mynamespace\n"; } } class testclass{ static function test() { echo "testclass in mynamespace\n"; } } use \mynamespace\myclass as myclass; $a=new myclass; $b='myclass'; $c=new $b; ?>
Từ khóa use phải được khai báo ở ngoài cùng hoặc phạm vi toàn cục, hoặc khai báo không gian tên bên trong. Quá trình nhập được thực hiện tại thời gian biên dịch chứ không phải thời gian chạy. Do đó, nó không thể bị chặn trong phạm vi. Việc sử dụng sau đây sẽ là bất hợp pháp
Ví dụ
<?php function myfunction(){ use myspace\myclass; // // } ?>
Các tệp được bao gồm sẽ KHÔNG kế thừa các quy tắc nhập của tệp mẹ như chúng có trên cơ sở tệp