Namespace trong PHP

Namespace cho phép các lớp / hàm / hằng cùng tên được sử dụng trong các ngữ cảnh khác nhau mà không có bất kỳ xung đột nào.

Giả sử trong lớp có tới 3 ông tên là Nam thì làm sao để phân biệt được họ. Cách tốt nhất là lấy họ và tên là được. Như vậy Namespace cũng tương tự như vậy. Khi lập trình mã nguồn sẽ có nhiều người cùng tham gia. Trường hợp Class, biến, hằng trùng nhau là điều khó tránh khỏi.

Chính vì vậy Namespace được ra đời giúp giải quyết vấn đề này. Để thực hành tốt nhất bạn nên đặt theo thư mục.

Tạo Namespace trong PHP

Ví dụ: Mình sẽ tạo ra một thư mục là AppControllers và bên trong nó là một file test.php với nội dung như sau

<?php
namespace AppControllers;

function exam_A() {
    echo 'Chào bạn<br/>';
}

Class exam_B {
    public static function myMethod() {
        echo 'Xin chào các bạn';
    }
}

[danger-box text=’Lưu ý: Tên của namespace sẽ phải sử dụng dấu ” “. ‘]

Tiếp theo mình sẽ tạo ra một tập tin khác tên là test_out.php với nội dung

<?php

require 'test.php';

AppControllersexam_A();

AppControllersexam_B::myMethod();

Kết quả in ra màn hình là

Chào bạn
Xin chào các bạn

Sử dụng từ khóa use trong Namespace

Cũng với ví dụ trên giờ mình sẽ thêm use phía trước đường dẫn Namespace. Khi dùng từ khóa use sẽ không cần phải dùng tới require hay include nữa.

use AppControllersexam_B;

$result = new exam_B;
$result->myMethod();

Đặt bí danh cũng bằng cách sử dụng as

use AppControllersexam_B as eB;

Cách sử dụng Namespace hiệu quả

  • Bạn sẽ cần phải ngăn ngừa xung đột tên thư mục. Vì vậy, tốt hơn là thêm tất cả các lớp vào một Namespace. (Nên đặt theo tên thư mục).
  • Nhóm các lớp tương tự vào một Namespace con.
  • Sử dụng cấu trúc thư mục một cách chính xác.

Như vậy với bài học này bạn đã được tìm hiểu về Namespace. Nó sẽ thường gặp khi làm việc với các Framework mô hình MVC như Laravel, Codeigniter… Và đây cũng là một phần kiến thức trong lập trình hướng đối tượng (OOP). Vì vậy bạn cần tìm hiểu và thực hành thuần thục nhé!

Related Posts

Hàm str_split() trong PHP

Bài viết này chúng ta sẽ đi tìm hiểu về hàm str_split(). Một trong những hàm thường được dùng trong PHP. Vậy cách sử dụng str_split() như…

Tạo chức năng sửa xoá thành viên bằng PHP & MySQL

Với một số trang web để quản lý thành viên (user) dễ dàng trong phần quản trị admin bạn phải khởi tạo chức năng sửa xoá thành…

Hàm str_replace trong PHP

Hàm str_replace trong PHP là gì? Hàm str_replace() trong PHP là một hàm được sử dụng để thay thế tất cả các xuất hiện của một chuỗi…

laravel8-vews-1

Views trong Laravel 8

Trong chuỗi series hướng dẫn học Laravel thì Views cũng quan trọng không kém gì so với Controller hay Model. Vậy chúng ta sẽ làm thế nào…

Validate Form trong PHP

Mặc dù trình duyệt hỗ trợ JavaScript để xác thực người dùng cho website. Tuy nhiên nếu JavaScript bị lỗi hoặc tắt đi thì công việc này…

Pagination-PHP-MySQL-1

Tạo phân trang trong PHP và Mysql

Để hiểu hơn về ngôn ngữ PHP bạn sẽ phải thực hành nhiều bài tập với nó. Phân trang trong PHP là một phần kiến thức dành…