Xem thêm

Namespace trong PHP: Tận dụng không gian tên để lập trình dễ dàng hơn

Huy Erick
Hình ảnh: Tận dụng không gian tên để lập trình dễ dàng hơn Nhưng trước tiên, bạn có biết gì về "Namespace" trong PHP không? Namespace trong PHP phải được sử dụng để nhóm các...

Namespace trong PHP Hình ảnh: Tận dụng không gian tên để lập trình dễ dàng hơn

Nhưng trước tiên, bạn có biết gì về "Namespace" trong PHP không? Namespace trong PHP phải được sử dụng để nhóm các class, function, hằng vào một nhóm nhất định, giúp cho việc lập trình trở nên dễ dàng hơn. Tuy nhiên, công việc này không chỉ đơn giản là đặt một tên cho các đối tượng, mà còn đòi hỏi sự hiểu biết chuyên sâu về Expertise, Authoritativeness, Trustworthiness, Experience (E-E-A-T) và tiêu chuẩn YMYL (Your Money or Your Life).

Giới thiệu về "Namespace" trong PHP

Namespace trong PHP có ý nghĩa là không gian tên. Với việc sử dụng Namespace, bạn có thể nhóm các class, function, hằng vào trong một vùng không gian để dễ hình dung và dễ lập trình hơn. Điều này trở nên cần thiết khi bạn tham gia vào các dự án có nghiệp vụ phức tạp. Trong những dự án như vậy, bạn sẽ cần định nghĩa các class, các hằng giống tên nhau nhưng khác chức năng, và đặt chúng trong các Namespace khác nhau.

Cách tạo "Namespace" trong PHP

Có hai cách chính để tạo "Namespace" trong PHP:

Cách 1: Sử dụng lệnh namespace tênNS;

Để tạo "Namespace", bạn sử dụng lệnh namespace tênNS;. Sau đó, bạn có thể định nghĩa các class, function, hằng ở phía dưới lệnh "namespace" như bình thường. Tất cả những gì bạn định nghĩa ở dưới lệnh "namespace" sẽ thuộc về Namespace đó cho đến khi kết thúc file hoặc gặp một "namespace" khác.

namespace tênNS1; ... namespace tênNS2; ...

Cách 2: Sử dụng cú pháp với dấu ngoặc {}

Bạn cũng có thể sử dụng cú pháp giống như cách trên, nhưng bao bọc những gì thuộc về "namespace" đó bằng dấu ngoặc {}.

namespace tên {   ... }

Ví dụ tạo "Namespace" trong PHP

Construct class sanpham";     } } const PAGE_SIZE = 6; function chuhoa($str) {     return mb_convert_case($str,0); } //////////////////////////////////////////////////////////////// namespace ADMIN; class sanpham {     function __construct(){         echo "Construct quản trị sản phẩm
"; } function add(){ echo "

Form thêm sản phẩm

"; } } const PAGE_SIZE=20; ?>

Sử dụng "Namespace" trong PHP

"; $sp = new ADMIN\sanpham; //Construct quản trị sản phẩm echo ADMIN\PAGE_SIZE; //20 echo $sp->add(); //Form thêm sản phẩm ?>

Dùng tài nguyên từ "Namespace" khác

Cách 1: Ghi cụ thể đường dẫn theo kiểu "namespacetainguyen"

Cách 2: Sử dụng lệnh "use const ... as", "use function ... as", "use ... as" để đặt alias (tên mới) thay vì sử dụng đường dẫn dài.

class sanpham";         }     } } namespace BV {     const PAGE_NUM = 5;     use const SP\PAGE_SIZE AS PS;     use function SP\demSoSanPham as demSP;     use SP\sanpham as LT;     echo $sodong = PS +1; //11     echo $sosp= demSP() - 1; //99     $t = new LT; //class sanpham } ?>

Chú ý khi sử dụng "Namespace"

Khi khai báo "Namespace", hãy đảm bảo đặt nó ở phần đầu tiên của file PHP. Nếu không, code sẽ gây ra lỗi.

Từ khóa "NAMESPACE"

Từ khóa "NAMESPACE" là một từ khóa có sẵn trong PHP, nó trả về một chuỗi chứa tên của "Namespace" hiện tại. Ví dụ:

"; //DIENTHOAI function detail() {     echo "
Func detail in ". __NAMESPACE__; } namespace LAPTOP; echo __NAMESPACE__ , "
"; //LAPTOP function detail() { echo "
Func detail in ". __NAMESPACE__; } ?>

Namespace có cấu trúc thứ bậc

Bạn cũng có thể định nghĩa tên các "Namespace" có cấu trúc thứ bậc.

 PAGE SIZE " , LAPTOPPAGE_SIZE; //12 echo "
PS ADMIN " , PS1; //50 echo "
PS SITE " , LAPTOPSITEPAGE_SIZE; //6 ?>

Namespace không được lồng nhau

Trong PHP, bạn có thể tạo các "Namespace" có cấu trúc thứ bậc, nhưng không thể tạo "Namespace" lồng nhau.

Đây là một số khái niệm cơ bản về "Namespace" trong PHP mà bạn nên biết. Nếu bạn quan tâm và muốn tìm hiểu thêm, dưới đây là một số nguồn tham khảo hữu ích:

  • W3Schools
  • PHP.net
1