Trait trong PHP và các ví dụ cụ thể

Trong PHP không cho phép sử dụng đa kế thừa. Có nghĩa là một lớp con chỉ được kế thừa một lớp cha duy nhất mà thôi. Hơn nữa nếu như bạn muốn sử dụng nhiều phương thức trong nhiều Class khác nhau thì phải làm thế nào? Nếu sử dụng kế thừa thì không được, còn dùng Interface chỉ sử dụng khai báo phương thức mà thôi.

Một giải pháp khắc phục những vấn đề trên là sử dụng Trait. Vậy trait là gì? Và tại sao lại nên sử dụng nó? Bài viết sau đây mình sẽ giúp bạn hiểu thật chi tiết hơn.

Trait trong PHP là gì?

Từ phiên bản php 5.4 trait được giới thiệu tới cộng đồng lập trình viên trên thế giới. Với mục đích giải quyết những vấn đề tồn tại trước đó.

Lợi ích của trait đó chỉnh là giúp giảm sự trùng lặp của các đoạn code, gọn gàng và dễ dàng tái sử dụng.

Cách sử dụng Trait

Trait sử dụng hoàn toàn giống như class. Nó cũng có thuộc tính, phương thức và trừu tượng. Cũng dùng các public, private, protected.

Đầu tiên hãy xem đoạn mã kế thừa ở trong PHP:

<?php 
class People {
    public function eat() {
        echo 'Ăn cơm';
    }
}

class Donaltrump extends People {
    public function eat() {
        echo 'Ăn thịt';
    }
}

$people = new Donaltrump();
$people->eat();

Đây là trường hợp kế thừa, khi lớp con muốn kế thừa thì phải viết lại phương thức. Như vậy thì quả là phức tạp nếu như có hàm trăm method thì làm sao?

Còn với trait trong PHP thì như sau:

<?php 
trait People {
    public function eat() {
        echo 'Ăn cơm';
    }
}

class Donaltrump {
    use People;
}

$people = new Donaltrump();
$people->eat();

Cách dùng khá đơn giản. Trait chỉ cần dùng từ khóa use gọi class vào thôi. Nếu có hàng trăm class thì chỉ cần dùng tương tự như vậy.

Đối với phương thức tĩnh

<?php 
trait People {
    public static function eat() {
        echo 'Ăn cơm';
    }
}

class Donaltrump {
    use People;
}

Donaltrump::eat();

Nếu muốn sử dụng nhiều class chỉ cần use People, Exam;

Như vậy bài viết này chúng ta đã tìm hiểu về trait trong PHP. Nó khá đơn giản phải không nào?

Nguồn tham khảo:

https://www.phptutorial.net/php-oop/php-traits/

Related Posts

Cấu trúc dữ liệu và giải thuật: Một cái nhìn tổng quan

Giới thiệu Trong lĩnh vực phát triển phần mềm, cấu trúc dữ liệu và giải thuật là hai khái niệm quan trọng không thể thiếu. Cấu trúc…

Next.js – Khám phá Framework JavaScript tuyệt vời cho phát triển ứng dụng web

Giới thiệu về Next.js Next.js là một framework JavaScript mã nguồn mở và phổ biến được sử dụng để xây dựng các ứng dụng web hiệu suất…

Lisp – Cái nhìn tổng quan về ngôn ngữ lập trình đặc biệt

Lisp là gì? Lisp là một ngôn ngữ lập trình đặc biệt mang đến một cách tiếp cận độc đáo trong việc xử lý thông tin và…

Cách sử dụng đường dẫn tương đối trong HTML

Cách sử dụng đường dẫn tương đối trong HTML

Trang web hiện đại thường bao gồm nhiều tài nguyên như hình ảnh, trang HTML khác, tệp tin CSS và JavaScript. Để liên kết và truy cập…

Bài tập về hàm split trong Python

Chuỗi là một loại dữ liệu phổ biến trong lập trình, và việc xử lý chuỗi là một kỹ năng cần thiết cho các lập trình viên….

Xử lý chuỗi trong Python: Các phương thức cơ bản

Python là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay. Nó được sử dụng rộng rãi trong nhiều lĩnh vực, từ phát triển…