Hướng dẫn dùng equals 2 trong PHP
Ở phần trước mình đã có nói đến một số vấn đề về lập trình hướng đối tượng trong PHP như về 4 tính chất hay về Abstract Class, Interface... Để tiếp nội dung của các bài viết về OOP trong PHP, nội dung bài này mình sẽ nói về 1 số vấn đề như:
Traits là cơ chế để tái sử dụng mã nguồn trong ngôn ngữ không hỗ trợ đa kế thừa như PHP. Trait làm giảm bớt hạn chế của việc kế thừa đơn lẻ bằng cách cho phép lập trình viên sử dụng lại các phương thức 1 cách tự do. Trait tương tự như 1 lớp, mục đích của nó là nhóm chức năng 1 cách nhất quán hơn. Các phương thức trong Traits có thể bị override - ghi đè trong các class sử dụng nó. Ví dụ về Trait:
Bạn cũng có thể sử dụng các Trait lồng nhau:
Với việc dùng nhhiều trait trong cùng 1 class thì khả năng cao là trong các trait ấy có những phương thức tên trùng nhau. Để giải quyết vấn đề này, bạn hãy dùng đến insteadof: NamespacesNamespaces chịu trách nhiệm đóng gói phạm vi cho các hàm và biến. Nó cho phép bạn sử dụng cùng 1 hàm hoặc tên lớp trong các thành phần khác nhau của cùng 1 chương trình mà không gây ra xung đột do cùng tên. Định nghĩa namespaces ở trên cùng của file
Sử dụng namsepaces: Magic FunctionsMagic functions là các phương thức có tên đặc biệt, bắt đầu bằng 2 dấu gạch dưới, biểu thị các phương thức sẽ được kích hoạt để đáp ứng với các sự kiện cụ thể trong PHP. Một số hàm:
Từ PHP5.6, bạn có thể sử dụng toán tử splat (...) để tạo các hàm variadic (các hàm có 1 đối số không xác định). Xem ví dụ sau: Hàm Variadic
Hủy bỏ đối số - Argument UnpackingBạn cũng có thể sử dụng toán tử splat để thực hiện ngược lại khi truyền đối số cho hàm. Mảng và đối tượng Traversable có thể sử dụng làm đối số truyền vào
Hàm lũy thừa sử dụng **Toán tử ** đã được đưa vào để hỗ trợ chức năng lũy thừa, cùng với đó là toán tử **= dùng trong trường hợp viết tắt. KếtBài này mình xin kết thúc ở đây. Trong phần Lập trình hướng đối tượng trong PHP mình sẽ viết tiếp 1 bài chủ yếu là giới thiệu chuẩn PSR và SOLID trong lập trình PHP. Cảm ơn mọi người đã theo dõi. |