[TRAIT] Trait là gì? Cách sử dụng Trait trong PHP (ok)
https://hungphamdevweb.com/trait-la-gi-cach-su-dung-trait-trong-php.html
C:\xampp\htdocs\php\b.php
C:\xampp\htdocs\php\b.php
C:\xampp\htdocs\php\b.php
C:\xampp\htdocs\php\b.php
Trait là gì? Cách sử dụng Trait trong PHP
Trait hoạt động như thế nào:
Chúng ta sẽ cùng nhau tìm hiểu về cách hoạt động của Trait trong ví dụ bên dưới:
Tại sao mình cần phải sử dụng Trait, vì nó ở đây đóng góp như một “Class” chứa những hàm bổ sung mình cần cho Class mình cần sử dụng và bản thân Class C
và Class B
ở đây cùng kế thừa từ hai cha khác nhau. Do sự kế thừa khá phức tạp nên để đơn giản hoá chúng ta có thể sử dụng Trait để giải quyết vấn đề này.
Trait có giống Interface?
Sau khi hiểu Trait là gì, thì một câu hỏi đặt ra là Trait có giống như Interface(Interface là gì mình sẽ đề cập vào bài viết khác, nếu có anh em chưa biết). Nhìn tổng quan Trait và Interface đều là tổng hợp một list các function và nhìn khá đơn giản.
Nhưng Interface khác là vì nó được xem như một giao kèo giữa nó và Class implements chính nó. Ví dụ:
Ở đây Class A
giao kèo với interface D
là nó chỉ được có một hàm duy nhất là hàm showMessage và kết quả hàm này là một string
. Interface có giá trị “sử dụng” nó không được dùng để lấy các hàm bên trong nó để sử dụng mà nó được xem là một giao ước để cam kết sự chặt chẽ trong Class mà bạn implements
nó.
Và thường thì từ khoá đi cùng với interface sẽ là implements
. Còn với Trait thì sẽ là từ khoá use
.
Kết luận:
Bản chất Trait nó giúp chúng ta giải quyết được vấn đề đa kế thừa, một Class có thể kế thừa được nhiều Class. Nhưng không có nghĩa là bạn có thể sử dụng nó tự do, mình nghĩ cái gì cũng vừa đủ thì nó sẽ tốt hơn.
Thân chào và quyết thắng hẹn gặp lại các anh em trong một bài viết khác vào một ngày không xa. Web mình có PWA
, anh em nhớ sài nha, để lướt web nhanh hơn trên mobile. Cách thêm PWA
bằng Add to homescreen nha anh em.
Last updated
Was this helpful?