Namespace va use trong php

PHP PHP CƠ BẢN PHP HƯỚNG ĐỐI TƯỢNG PHP STANDARDS LARAVEL PHP&MYSQL PYTHON PYTHON CƠ BẢN PYTHON NÂNG CAO PYTHON & MYSQL JAVASCRIPT JAVASCRIPT CƠ BẢN JQUERY JS VUE.JS ECMASCRIPT NODE.JS NODE.JS CƠ BẢN EXPRESS FRAMEWORK NODE.JS & MYSQL NODE.JS & MONGODB MORE JAVA CORE SQL MONGO DB HTML CSS
Thủ Thuật Công Nghệ THỦ THUẬT CÔNG NGHỆ TOOLS & SOFTWARE TIN TỨC & REVIEW TIN TUYỂN DỤNG Liên Hệ Home PHP PHP CƠ BẢN PHP HƯỚNG ĐỐI TƯỢNG PHP STANDARDS LARAVEL LARAVEL 8 PHP&MYSQL PYTHON PYTHON CƠ BẢN PYTHON NÂNG CAO PYTHON & MYSQL JAVASCRIPT JAVASCRIPT CƠ BẢN JQUERY JS VUE.JS ECMASCRIPT NODE.JS NODE.JS CƠ BẢN EXPRESS FRAMEWORK NODE.JS & MYSQL NODE.JS & MONGODB MORE JAVA CORE SQL MONGO DB HTML CSS TIN TUYỂN DỤNG Liên Hệ
Post Job
Tìm kiếm
PHP CƠ BẢN PHP HƯỚNG ĐỐI TƯỢNG PHP STANDARDS LARAVEL PHP&MYSQLPYTHON CƠ BẢN PYTHON NÂNG CAO PYTHON và MYSQLJAVASCRIPT CƠ BẢN JQUERY JS VUE.JS ECMASCRIPTNODE.JS CƠ BẢN EXPRESS FRAMEWORK NODE.JS và MYSQL NODE.JS và MONGODBJAVA CORE SQL MONGO DB HTML CSSThủ Thuật Công Nghệ THỦ THUẬT CÔNG NGHỆ TOOLS và SOFTWARE TIN TỨC và REVIEW TIN TUYỂN DỤNG Liên Hệ Home PHP PHP CƠ BẢN PHP HƯỚNG ĐỐI TƯỢNG PHP STANDARDS LARAVEL LARAVEL 8 PHP&MYSQL PYTHON PYTHON CƠ BẢN PYTHON NÂNG CAO PYTHON và MYSQL JAVASCRIPT JAVASCRIPT CƠ BẢN JQUERY JS VUE.JS ECMASCRIPT NODE.JS NODE.JS CƠ BẢN EXPRESS FRAMEWORK NODE.JS và MYSQL NODE.JS và MONGODB MORE JAVA CORE SQL MONGO DB HTML CSS TIN TUYỂN DỤNG Liên HệPost JobTìm kiếm

Gợi ý

Học PHP Python Node.js javascript MongoDB
Bài 11: Namespace trong PHP
Học PHP Python Node. js javascript MongoDBBài 11 : Namespace trong PHP

Bạn đang đọc: Namespace va use trong php

*
Font size
By Vũ Thanh Tài 08-03-2017 10 phút đọcFont size

Trong một dự án lớn có bao giờ bạn nghĩ đến trường hợp là sẽ xảy ra các class có trùng tên nhau không? Chính vì điều đó mà kể tử phiên bản PHP 5.3 trở đi thì PHP có hỗ trợ cho chúng ta chức năng mới là namespace …

Bạn đang xem : Namespace va use trong php

1, Namespace là  gì?

– Namespace giúp tạo ra một khoảng trống tên cho hàm và lớp trong lập trình nói chung và trong PHP nói riêng. – Vì ở đây là series hướng đối tượng người dùng nên mình sẽ chỉ trình diễn về namespace trong hướng đối tượng người tiêu dùng, trong hướng đối tượng người dùng thì namespace có tính năng tạo ra định danh cho lớp một cách cụ thể hóa hơn.

VD: như chúng ta có 2 file mỗi file đều chứa một class và 2 class này lại có một điểm chung là trùng tên. Giờ đây khi bạn nhúng cả 2 file này vào và gọi class thì ngay lập tức chương trình sẽ báo lỗi. Để khắc phục điều đó thì chúng ta cần khai báo namespace cho hai class đó (đọc tiếp để xem cách khai báo).

2, Khai báo namespace.

-Để khai báo namespace trong PHP chú ta sử dụng cú pháp sau:

namespace Name; namespace Name ;

 Trong đó: Name là tên của namespace.

Chú ý : khi khai báo namespace thì chúng ta phải đặt nó ở phía trên cùng của file. Hơn nữa nếu như bạn muốn đặt tên namespace đúng chuẩn thì hãy tham khảo series PHP standards.

VD:

class Package } class Package }- Và bạn cũng hoàn toàn có thể trọn vẹn đặt tên namespace theo những cấp được.

VD: Tạo một class HomeController trong thư mục app\controllers và đặt tên namespace như sau:

namespace App\Controllers; class HomeController

3, Gọi namespace.

namespace App \ Controllers ; class HomeControllerXem thêm : Phần Mềm Vos Của Vsmart – Cộng Đồng Vsmart Nước Ta – Khi mà một class đã được một namespace định danh thì bạn sẽ không hề gọi theo cách thường thì được nữa mà phải gọi với cú pháp : new tenNamespace\tenClass();

new tenNamespace\tenClass();

VD:

-Tạo một file ConNguoi.php có nội dung như sau:

-Tiếp đó tạo một file index.php cùng cấp với file ConNguoi.php và lúc này chúng ta sẽ phải gọi class ConNguoi như sau: getName(); //kết quả: Con Người

Nạp namespace bằng use

– Tiếp đó tạo một filecùng cấp với filevà lúc này tất cả chúng ta sẽ phải gọi class ConNguoi như sau : getName ( ) ; / / hiệu quả : Con Người- Nếu như bạn không muốn gọi namespace theo cách trên thì bạn sử dụng từ khóa use để nạp theo cú pháp sau : use tenNamespace\tenClass; use tenNamespace \ tenClass ;

Chú ý : Khai báo nạp namespace cũng phải được đặt trên đầu của một file, nếu như trong một file có sử dụng namespace và use thì use sẽ được đặt dưới namespace.

VD: Mình sẽ sử dụng use để nạp namespace của class ConNguoi, khi đó file index.php sẽ được viết như sau:

getName(); //kết quả: Con Người getName ( ) ; / / tác dụng : Con Người

 VD: Một file mà có khai báo namespace và use thì sẽ viết như sau:

4, Định danh cho namespace. 4, Định danh cho namespace .

-Giả sử namespace của chúng ta rất dài hoặc vì một lý do nào đó mà bạn không muốn gọi namespace như thế, thì PHP cũng có cung cấp cho chúng ta một phương pháp đó là tạo định danh cho namespace.

– Để tạo định danh mới cho namespace trong PHP tất cả chúng ta sử dụng từ khóa as với cú pháp như sau : use tenNamespace as tenMoi; use tenNamespace as tenMoi ;

VD: Tạo định danh cho namespace ConNguoi ở trên.

getName(); //kết quả: Con Người

5, Nhiều namespace trong một file.

getName ( ) ; / / tác dụng : Con Người- Như ở trên mình có nói là khi khai báo namespace thì tất cả chúng ta phải đặt ở đầu file, nhưng nếu như ở trong một file có nhiều namespace thì tất cả chúng ta sẽ khai báo như sau : namespace nameone; class ClassOne namespace nametwo; class ClassTwo namespace nameone ; class ClassOne namespace nametwo ; class ClassTwo

VD:

– Tạo một file Class. php có nội dung như sau : -Và chúng ta sẽ tạo một file index.php để gọi 2 class đó như sau:. getName(); //kết quả: Con Người $nguoilon = new Class\NguoiLon\NguoiLon(); echo $nguoilon->getName(); //kết quả: Nguoi Lon

6, Lời Kết.

– Và tất cả chúng ta sẽ tạo một file index.php để gọi 2 class đó như sau :. getName ( ) ; / / tác dụng : Con Người USD nguoilon = new Class \ NguoiLon \ NguoiLon ( ) ; echo USD nguoilon -> getName ( ) ; / / tác dụng : Nguoi Lon

-Như vậy mình đã trình bày xong về namespace trong PHP rồi, hy vọng mọi người có thể nắm chắc kiến thức này để khi học các PHP framework như Laravel, Zend,… khỏi bị bỡ ngỡ. Bài tiếp theo chúng ta sẽ tìm hiểu về Trait trong PHP.