Hướng dẫn dùng namespace meaning trong PHP

Trong bài này, chúng ta sẽ tìm hiểu về namespace trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Namespace trong PHP giúp gom nhóm các lớp [class], hằng [constant], hàm [function] cùng thực hiện một nhiệm vụ với nhau. Việc này giúp tổ chức code tốt hơn và tránh nhầm lẫn giữa các lớp, hằng, hàm cùng tên nhưng chức năng khác nhau.

Ví dụ, một chương trình PHP lớn gồm nhiều file. Các file này chứa các lớp [class] thực hiện những chức năng khác nhau. Nhưng chúng có thể có những lớp [class] cùng tên với nhau.

Có trường hợp, chúng ta cần include hoặc require nhiều file để thực hiện một chức năng nào đó. Nếu chúng ta gọi một lớp [class] cùng tên, chương trình sẽ không biết chúng ta gọi lớp nào trong file nào. Cần khai báo namespace cho các lớp để giải quyết trường hợp này.

2. Khai báo một namespace trong PHP

Namespace được khai báo ở dòng đầu tiên sau cú pháp

Hằng [constant], lớp [class], hàm [function] được khai báo trong file Html.php bên dưới đều thuộc về namespace Html.










Tham khảo: PHP Namespaces

  • Hướng dẫn cài đặt và sử dụng Arduino IDE
  • Thuật toán sắp xếp nổi bọt [Bubble Sort]
  • Nạp chồng hàm [function overloading] là gì?
  • Khái niệm kế thừa và đơn kế thừa trong lập trình hướng đối tượng
  • Java collections framework: Map interface và lớp HashMap

PHP programming web programming

Từ PHP 5.3 namespaces được giới thiệu để đóng gói các item và làm cho script dễ quản lý hơn.

Khi một trang web trở nên lớn hơn, việc giữ tất cả các file class trong cùng một thư mục sẽ khó hơn. Ngoài ra, chúng ta phải sử dụng tên rất dài cho các file và class, Đó là một trở ngại trong quản lý mã nguồn. Namespaces được giới thiệu để ngăn chặn vấn đề này. Chúng ta hãy xem nó hoạt động như thế nào!

 Giả sử chúng ta có cấu trúc file như sau:

class
	animals
		Dog.php
		Cat.php
		Goat.php
	birds
		Owl.php
		Peacock.php
	pets
		Dog.php
		Cat.php
	MainClass1.php
	MainClass2.php
	MainClass3.php

 Trong cấu trúc thư mục trên bạn thấy có file Dog.php và Cat.php được lưu trong các thư mục khác nhau, chúng là các class khác nhau hoàn toàn nhưng lại trùng tên,vậy làm sao để PHP biết bạn đang muốn gọi class nào khi thực hiện autoload, do đó chúng ta sử dụng thêm namespace để PHP có thể hiểu 2 file Dog và Cat trên là 2 file khác nhau hoàn toàn.

Chủ Đề