Traits là gì?
Traits là cơ chế cho phép tận dụng khả năng tái sử dụng lại code khi lập trình chỉ cho phép kế thừa 1 class duy nhất.
Sử dụng traits khi nào?
Traits trong PHP giúp tránh việc sử dụng nhiều phương thức trùng nhau
VD: Khi 2 class có cùng phương thức thì sử dụng traits sẽ gom các đoạn code trùng nhau đến nơi khác và có thể dễ dàng sửa đổi đoạn code đó.
Cú pháp:
traits Name{//your code} – tạo traits với các chức năng bên trong.
use Name – sử dụng traits cho 1 class khác
VD:
class Facebook extends Models{
function comment(){
echo ‘post your comment’;
}
}
class Twitter extends Model{
function comment(){
echo ‘post your comment’;
}
}
Gom đoạn code giống nhau vào traits
traits SocialComment{
public function comment(){
echo ‘post your comment’;
}
}
Khi đó chỉ cần sử dụng lại traits:
class Facebook extends Models{
use SocialComment;
}
class Twitter extends Model{
use SocialComment;
}
Dễ dàng sửa đổi traits thay vì phải sửa từng function ở các class khác nhau.
Tài liêu tham khảo:
https://www.php.net/manual/en/language.oop5.traits.php
Các tình huống khi sử dụng traits: https://toidicode.com/traits-trong-php-108.html