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

Tổng quan về Namespace trong PHP

Giới thiệu

Trong PHP, việc sử dụng namespace cho phép các class/function/constant cùng tên được dùng trong các ngữ cảnh khác nhau mà không xung đột, từ đó đóng gói (encapsulate) các mục này. Một namespace là nhóm logic các class/function tùy thuộc vào sự liên quan của chúng. Giống như file cùng tên có thể tồn tại trong hai thư mục khác nhau, một class tên xác định có thể được định nghĩa trong hai namespace. Tương tự, như ta chỉ định đường dẫn đầy đủ của file để truy cập, ta cần chỉ định tên đầy đủ của class cùng với namespace.

Việc dùng namespace trở nên quan trọng khi mã ứng dụng phát triển. Đặt tên duy nhất cho mỗi class/function có thể trở nên rườm rà và không tối ưu, namespace giúp giải quyết vấn đề này. Ví dụ, nếu cần khai báo hàm calculate() để tính diện tích và thuế, thay vì đặt tên calculate_area() và calculate_tax(), ta có thể tạo hai namespace area và tax và dùng calculate() bên trong chúng.

Namespace giải quyết hai vấn đề:

  • Tránh va chạm tên giữa class/function/constant do mình định nghĩa với của bên thứ ba (third-party).
  • Cung cấp khả năng bí danh (aliasing) hoặc rút gọn tên quá dài (Extra_Long_Names) để cải thiện độ đọc code.

PHP Namespace cung cấp cách nhóm các class, interface, function và constant liên quan. Tên namespace không phân biệt chữ hoa/thường (case-insensitive).

Ví dụ cơ bản

<?php
namespace myspace;
function hello() {
    echo "Hello World\n";
}
?>

Để gọi function trong namespace, include với từ khóa use. Tên function được qualified với namespace:

<?php
namespace myspace;
function hello() {
    echo "Hello World\n";
}
use myspace;
myspace\hello();
?>

Kết quả

Hello World