thể trùng lặp:
traits in php – any real world examples/best practices?Các kịch bản sử dụng có thể có cho các đặc điểm trong PHP là gì?
Trong những loại tình huống người ta sẽ sử dụng đặc điểm trong PHP? Tôi có một ý tưởng tổng thể khá tốt về điều này, nhưng tôi dường như không thể nghĩ ra một cách để sử dụng chúng trong một ứng dụng tôi đã viết, nhưng đó có thể là vì nó không cần những đặc điểm vào thời điểm đó.
Một kịch bản tôi đã nhận ra rằng nhu cầu đặc điểm:
- Sự kiện. Thay vì có một lớp thực hiện mẫu quan sát và cho phép tất cả các lớp khác kế thừa nó, chỉ cần làm cho nó trở thành một đặc điểm và cho phép các lớp muốn kích hoạt các sự kiện hoặc đăng ký sử dụng đặc điểm đó. Ví dụ, khung công tác Yii đang làm sai nó bằng cách thực hiện các công cụ ở lớp CComponent hơn là sử dụng một Trait.
Về cơ bản chức năng có thể được chia sẻ giữa các lớp, nhưng có thể lan truyền dọc theo nhiều phân cấp lớp nên sử dụng các đặc điểm. Các tình huống khác có thể tận dụng các Đặc điểm hơn là một hệ thống sự kiện là gì?
PHP cũng có [giao diện] (http://php.net /manual/en/language.oop5.interfaces.php), riêng biệt với các đặc điểm ...! Nếu bạn muốn so sánh táo với táo, các đặc điểm giống như các mixin từ các ngôn ngữ như Ruby hoặc, tốt, các đặc điểm từ các ngôn ngữ như Tự. – deceze
Tôi không nghĩ rằng Giao diện có liên quan nhiều đến Đặc điểm. – Tower
Tôi sẽ chỉ để lại điều này tại đây http://compsci.ca/v3/viewtopic.php?t=14785 –