Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Trait trong PHP là gì?

Từ PHP 5.4, Trait được giới thiệu để khắc phục hạn chế của đơn kế thừa (single inheritance). Trait giống lớp nhưng chỉ dùng để gom nhóm phương thức một cách tinh vi, không thể khởi tạo trực tiếp. Trait cho phép tái sử dụng bộ phương thức tự do trong nhiều lớp độc lập, nằm ở các hệ thống phân cấp khác nhau.

Ví dụ

<?php
trait Reader {
    public function add($var1, $var2) {
        return $var1 + $var2;
    }
}
trait Writer {
    public function multiplication($var1, $var2) {
        return $var1 * $var2;
    }
}
class File {
    use Reader;
    use Writer;
    public function calculate($var1, $var2) {
        echo "Kết quả cộng: " . $this->add($var1, $var2) . "\n";
        echo "Kết quả nhân: " . $this->multiplication($var1, $var2);
    }
}
$o = new File();
$o->calculate(5, 3);
?>

Kết quả

Kết quả cộng: 8
Kết quả nhân: 15

Giải thích

Lớp File sử dụng hai trait Reader và Writer để có được phương thức add() và multiplication() mà không cần kế thừa.

Lưu ý

Từ khóa use dùng để nhập trait vào lớp.