Hướng dẫn PHP

TRANG CHỦ PHP Giới thiệu PHP Cài đặt PHP Cú pháp PHP Nhận xét PHP Các biến PHP PHP Echo / Print Các kiểu dữ liệu PHP Chuỗi PHP Số PHP Toán PHP Hằng số PHP Toán tử PHP PHP If ... Else ... Elseif Chuyển đổi PHP Vòng lặp PHP Các hàm PHP Mảng PHP PHP Superglobals PHP RegEx

Biểu mẫu PHP

Xử lý biểu mẫu PHP Xác thực biểu mẫu PHP Yêu cầu biểu mẫu PHP URL biểu mẫu PHP / E-mail Hoàn thành biểu mẫu PHP

PHP nâng cao

Ngày và giờ trong PHP Bao gồm PHP Xử lý tệp PHP Mở / Đọc tệp PHP Tạo / ghi tệp PHP Tải lên tệp PHP Cookie PHP Phiên PHP Bộ lọc PHP Bộ lọc PHP nâng cao Các chức năng gọi lại trong PHP PHP JSON Ngoại lệ PHP

PHP OOP

PHP OOP là gì Các lớp / đối tượng PHP Trình tạo PHP PHP Destructor Công cụ sửa đổi quyền truy cập PHP Kế thừa PHP Hằng số PHP Các lớp trừu tượng trong PHP Giao diện PHP Đặc điểm PHP Phương thức tĩnh trong PHP Thuộc tính tĩnh của PHP Không gian tên PHP Lặp lại PHP

Cơ sở dữ liệu MySQL

Cơ sở dữ liệu MySQL MySQL Connect MySQL Tạo cơ sở dữ liệu MySQL Tạo bảng MySQL Chèn dữ liệu MySQL Nhận ID cuối cùng MySQL Chèn Nhiều MySQL được chuẩn bị Dữ liệu chọn MySQL MySQL ở đâu MySQL Đặt hàng bởi MySQL Xóa dữ liệu Dữ liệu cập nhật MySQL Dữ liệu giới hạn MySQL

PHP XML

Trình phân tích cú pháp XML PHP Trình phân tích cú pháp PHP SimpleXML PHP SimpleXML - Nhận PHP XML Expat DOM XML PHP

PHP - AJAX

Giới thiệu về AJAX AJAX PHP Cơ sở dữ liệu AJAX AJAX XML Tìm kiếm trực tiếp AJAX Cuộc thăm dò ý kiến ​​của AJAX

Ví dụ về PHP

Ví dụ về PHP Trình biên dịch PHP PHP Quiz Bài tập PHP Chứng chỉ PHP

Tham chiếu PHP

Tổng quan về PHP Mảng PHP Lịch PHP Ngày PHP Thư mục PHP Lỗi PHP Ngoại lệ PHP Hệ thống tập tin PHP Bộ lọc PHP FTP PHP PHP JSON Từ khóa PHP PHP Libxml Thư PHP Toán PHP PHP Misc PHP MySQLi Mạng PHP Kiểm soát đầu ra PHP PHP RegEx PHP SimpleXML Luồng PHP Chuỗi PHP Xử lý biến PHP Trình phân tích cú pháp XML PHP PHP Zip Múi giờ PHP

Không gian tên PHP


Không gian tên PHP

Không gian tên là các vòng loại giải quyết hai vấn đề khác nhau:

  1. Chúng 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ụ
  2. Chúng cho phép sử dụng cùng một tên cho nhiều lớp

Ví dụ: bạn có thể có một tập hợp các lớp mô tả một bảng HTML, chẳng hạn như Bảng, Hàng và Ô trong khi cũng có một tập hợp các lớp khác để mô tả đồ nội thất, chẳng hạn 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 đồng thời ngăn không cho hai lớp Table và Table bị trộn lẫn với nhau.


Khai báo không gian tên

Không gian tên được khai báo ở đầu tệp bằng namespacetừ khóa:

Cú pháp

Khai báo một không gian tên được gọi là Html:

namespace Html;

Lưu ý: Một namespacekhai báo phải là điều đầu tiên trong tệp PHP. Mã sau sẽ không hợp lệ:

<?php
echo "Hello World!";
namespace Html;
...
?>

Hằng số, lớp và hàm được khai báo trong tệp này sẽ thuộc không gian tên Html :

Thí dụ

Tạo một lớp Bảng trong không gian tên Html:

<?php
namespace Html;
class Table {
  public $title = "";
  public $numRows = 0;
  public function message() {
    echo "<p>Table '{$this->title}' has {$this->numRows} rows.</p>";
  }
}
$table = new Table();
$table->title = "My table";
$table->numRows = 5;
?>

<!DOCTYPE html>
<html>
<body>

<?php
$table->message();
?>

</body>
</html>

Để tổ chức thêm, có thể có các không gian tên lồng nhau:

Cú pháp

Khai báo một không gian tên được gọi là Html bên trong một không gian tên được gọi là Mã:

namespace Code\Html;

Sử dụng Không gian tên

Bất kỳ mã nào theo sau một namespacekhai báo đang hoạt động bên trong không gian tên, vì vậy các lớp thuộc không gian tên có thể được khởi tạo mà không cần bất kỳ định tính nào. Để truy cập các lớp từ bên ngoài một không gian tên, lớp đó cần phải có không gian tên gắn liền với nó.

Thí dụ

Sử dụng các lớp từ không gian tên Html:

$table = new Html\Table()
$row = new Html\Row();

Khi nhiều lớp từ cùng một không gian tên đang được sử dụng cùng một lúc, thì việc sử dụng namespacetừ khóa sẽ dễ dàng hơn:

Thí dụ

Sử dụng các lớp từ không gian tên Html mà không cần bộ định nghĩa Html \:

namespace Html;
$table = new Table();
$row = new Row();

Bí danh không gian tên

Có thể hữu ích nếu đặt một không gian tên hoặc bí danh cho lớp để giúp viết dễ dàng hơn. Điều này được thực hiện với usetừ khóa:

Thí dụ

Đặt bí danh cho không gian tên:

use Html as H;
$table = new H\Table();

Thí dụ

Đặt bí danh cho lớp:

use Html\Table as T;
$table = new T();