PHP OOP - Traits
Học Php bắt đầu với Hello, World
Tự làm quen với các bài tập và gửi đoạn code đầu tiên của bạn bằng cách hoàn thành bài đầu tiên "Hello, World!".
Luyện tập
PHP - Traits là gì?
  • PHP chỉ hỗ trợ kế thừa đơn: một lớp con chỉ có thể kế thừa từ một lớp cha duy nhất.
  • Vì vậy, nếu một lớp cần kế thừa nhiều hành vi thì sao? Trait OOP sẽ giải quyết vấn đề này.
  • Các Trait được sử dụng để khai báo các phương thức có thể được sử dụng trong nhiều lớp. Các Trait có thể có các phương thức và phương thức trừu tượng có thể được sử dụng trong nhiều lớp và các phương thức có thể có bất kỳ công cụ sửa đổi truy cập nào (public, private hoặc protected).
  • Trait được khai báo với từ khóa trait

 

Cú pháp

<?php
trait TraitName {
  // some code...
}

?>

Để sử dụng một Trait trong một lớp, hãy sử dụng từ khóa use :

 

Cú pháp

<?php
class MyClass {
  use TraitName;
}
?>
Ví dụ
Compiler
Giải thích

Ở đây, chúng tôi khai báo một Trait: message1. Sau đó, chúng tôi tạo một lớp: Wellcome. Lớp sử dụng Trait và tất cả các phương thức trong Trait sẽ có sẵn trong lớp.

Nếu các lớp khác cần sử dụng hàm msg1(), chỉ cần sử dụng Trait message1 trong các lớp đó. Điều này làm giảm sự trùng lặp mã, bởi vì không cần phải khai báo lại cùng một phương thức nhiều lần.

Ví dụ
Compiler
Giải thích

Ở đây, chúng tôi khai báo hai Trait: message1message2. Sau đó, chúng tôi tạo hai lớp: WellcomeWellcome2. Lớp đầu tiên Welcome sử dụng Trait message1 và lớp thứ hai Welcome2 sử dụng cả Trait message1message2 (nhiều Trait được phân tách bằng dấu phẩy).

Một số bài viết liên quan
Devsne VN 6084 lượt xem

Nên sử dụng Composer khi phát triển bằng PHP !

Devsne VN 10454 lượt xem

[PHP] Expressions and Control Flow in PHP - Phần 2

Devsne VN 2415 lượt xem

Biến và các kiểu dữ liệu thông dụng trong PHP

Devsne VN 5026 lượt xem

Understanding Variables and References in PHP

Devsne VN 7372 lượt xem

Top PHP Tips and Tricks.

Devsne VN 9880 lượt xem

Nguồn gốc Design Patterns và PHP

Devsne VN 6013 lượt xem

Khai thác PHP Deserialization

Devsne VN 2244 lượt xem

Cấu hình PHP-FPM và Pools trong ứng dụng Docker với PHP và Nginx: Phần 2

Devsne VN 10307 lượt xem

Cách đơn giản viết xử lý bất đồng bộ trong PHP 8.1

Devsne VN 4050 lượt xem

[Lession 6 - PHP] Tìm hiểu Abstract và Interface trong PHP