Không gian tên PHP
Không gian tên là vòng loại giải quyết hai vấn đề khác nhau:
- Họ cho phép tổ chức tốt hơn bằng cách nhóm các lớp làm việc cùng nhau để thực hiện một nhiệm vụ
- Chúng cho phép cùng tên được sử dụng cho nhiều hơn một lớp
Ví dụ, bạn có thể có một tập hợp các lớp mô tả bảng HTML, chẳng hạn như bảng, hàng và ô trong khi cũng có một bộ lớp khác để mô tả đồ nội thất, như bàn, ghế và giường. Không gian tên có thể được sử dụng để tổ chức các lớp thành hai nhóm khác nhau trong khi cũng ngăn hai bảng hai lớp và bảng bị trộn lẫn.
Tuyên bố một không gian tên
Các không gian tên được khai báo ở đầu tệp bằng từ khóa namespace:
Cú pháp
Tuyên bố một không gian tên được gọi là HTML:
Lưu ý: Tuyên bố namespace phải là điều đầu tiên trong tệp PHP. Mã sau sẽ không hợp lệ: A namespace declaration must be the first thing in the PHP file. The following code would be invalid:
Hằng số, lớp và chức năng được khai báo trong tệp này sẽ thuộc về không gian tên HTML:Html namespace:
Thí dụ
Tạo một lớp bảng trong không gian tên HTML:
Tiêu đề = "Bảng của tôi"; $ Bảng-> NUMROWS = 5;?>
namespace Html;
class Table {
public $title = "";
public $numRows = 0;
public function message() {
echo "
Table '{$this->title}' has {$this->numRows} rows.
";}
}
$table = new Table();
$table->title = "My table";
$table->numRows = 5;
?>
thông điệp(); ?>
$table->message();
?>
Hằng số, lớp và chức năng được khai báo trong tệp này sẽ thuộc về không gian tên HTML:
Thí dụ
Cú pháp
Tuyên bố một không gian tên được gọi là HTML:
Lưu ý: Tuyên bố namespace phải là điều đầu tiên trong tệp PHP. Mã sau sẽ không hợp lệ:
Any code that follows a namespace declaration is operating inside the namespace, so classes that belong to the namespace can be instantiated without any qualifiers. To access classes from outside a namespace, the class needs to have the namespace attached to it.
Thí dụ
Tạo một lớp bảng trong không gian tên HTML:
Hằng số, lớp và chức năng được khai báo trong tệp này sẽ thuộc về không gian tên HTML:
Thí dụ
Thí dụ
Tạo một lớp bảng trong không gian tên HTML:
Hằng số, lớp và chức năng được khai báo trong tệp này sẽ thuộc về không gian tên HTML:
Thí dụ
Tạo một lớp bảng trong không gian tên HTML:
Thí dụ
Tạo một lớp bảng trong không gian tên HTML:
Hằng số, lớp và chức năng được khai báo trong tệp này sẽ thuộc về không gian tên HTML:
Thí dụ
Tạo một lớp bảng trong không gian tên HTML:
Hằng số, lớp và chức năng được khai báo trong tệp này sẽ thuộc về không gian tên HTML:
<?php2 <?php3namespace6
use <?php6<?php7 <?php8
<?php9 namespace0namespace1 namespace2
<?php2 <?php3namespace6
use <?php6<?php7 <?php8
<?php9 namespace0namespace1 namespace2
Giống như C ++, không gian tên PHP là cách đóng gói các mục để có thể sử dụng lại cùng tên mà không có xung đột tên.
- Nó có thể được coi là một khái niệm trừu tượng ở nhiều nơi. Nó cho phép phân chia lại các chức năng/lớp/giao diện/hàm không đổi giống nhau trong không gian tên riêng mà không gặp lỗi nghiêm trọng.redeclaring the same functions/classes/interfaces/constant functions in the separate namespace without getting the fatal error.
- Không gian tên là một khối mã được dán nhãn phân cấp giữ mã PHP thông thường.
- Một không gian tên có thể chứa mã PHP hợp lệ.
- Không gian tên ảnh hưởng đến các loại mã sau: Các lớp (bao gồm tóm tắt và đặc điểm), giao diện, chức năng và hằng số.
- Không gian tên được khai báo bằng cách sử dụng từ khóa không gian tên.
Một không gian tên phải được khai báo là không gian tên ở đầu tệp trước bất kỳ mã nào khác - với một ngoại lệ: từ khóa khai báo. & Nbsp; & nbsp;
PHP
<?php
namespace MyNamespaceName {
function namespace0
namespace2
namespace3namespace4 namespace5namespace6
namespace8
namespace8
namespace0
Nếu không gian tên được khai báo trên toàn cầu, thì hãy khai báo nó mà không có bất kỳ tên nào. & Nbsp; & nbsp;
without any name.
PHP
Nhiều không gian tên có thể được khai báo trong một mã PHP. & Nbsp; & nbsp;
PHP
<?php
namespace namespace3
namespace8
namespace namespace6
namespace8
namespace namespace2
namespace8
namespace0
Một không gian tên được sử dụng để tránh các định nghĩa mâu thuẫn và giới thiệu sự linh hoạt và tổ chức hơn trong cơ sở mã. Cũng giống như các thư mục, không gian tên có thể chứa một hệ thống phân cấp được gọi là không gian Subnamespace. PHP sử dụng dấu gạch chéo ngược làm dấu phân cách không gian tên.example: & nbsp; & nbsp;
Example:
PHP
<?php
namespace namespace4
function namespace0
namespace2
namespace3namespace4 namespace5namespace6
namespace8
use5
namespaceuse7
namespace0
Bí ẩn trong không gian tên
Nhập khẩu đạt được bằng cách sử dụng từ khóa ‘sử dụng từ khóa. Tùy chọn, nó có thể chỉ định một bí danh tùy chỉnh với từ khóa ‘như từ khóa. & Nbsp; ví dụ: & nbsp; & nbsp;
Example:
PHP
<?php
namespace namespace4
function namespace0
namespace3namespace4 namespace5namespace6
Bí ẩn trong không gian tên
Nhập khẩu đạt được bằng cách sử dụng từ khóa ‘sử dụng từ khóa. Tùy chọn, nó có thể chỉ định một bí danh tùy chỉnh với từ khóa ‘như từ khóa. & Nbsp; ví dụ: & nbsp; & nbsp;
<?php2 <?php3namespace6
namespace0
use <?php6<?php7 <?php8
PHP
<?php
<?php9 namespace0namespace1 namespace2
use namespace4<?php7 namespace6
<?php9 namespace0namespace1 MyNamespaceName {0
Có thể gọi điện tự động mã theo tên, nhập động không được hỗ trợ. & Nbsp; & nbsp;
namespace0
namespace MyNamespaceName {4