Trung BìnhPHP iconPHP

Trait trong PHP là gì và chúng giải quyết vấn đề gì?

Trait cho phép tái sử dụng phương thức trong nhiều class không liên quan mà không cần kế thừa.

  • Khai báo: trait Logger { public function log($msg) { echo $msg; } }.
  • Dùng trong bất kỳ class nào: class User { use Logger; }class Product { use Logger; } thì cả hai đều có phương thức log.
  • Trait giải quyết vấn đề trùng lặp code khi nhiều class cần chức năng giống nhau nhưng không chia sẻ class cha.
  • Chúng giống như tái sử dụng "ngang" trong khi kế thừa là tái sử dụng "dọc".

Xem toàn bộ PHP cùng filter theo level & chủ đề con.

Mở danh sách PHP