Tôi sẽ cung cấp ví dụ nơi tôi đã sử dụng giao diện trong trải nghiệm thực tế của riêng mình.
Giao diện cực kỳ hữu ích khi bạn cần xác định thứ gì đó giống như kiến trúc plugin. Giả sử ứng dụng của bạn chấp nhận các trình cắm thêm xác thực, cho phép người dùng cuối của bạn tích hợp với cơ sở hạ tầng xác thực nội bộ của riêng họ (LDAP, Shibboleth, một số cơ sở dữ liệu tùy chỉnh, bất kỳ thứ gì). Để cho một plugin để tương thích, nó phải thực hiện các phương pháp sau đây:
validate_user()
start_user_session()
logout_user()
get_user_details()
Nếu định nghĩa trong một giao diện, một lớp sau đó thực hiện giao diện đảm bảo rằng các phương pháp cần thiết có mặt để tương thích với kiến trúc plugin.
Thật không may, PHP không thực thi kiểu trả về của các phương thức giao diện, vì vậy bạn chỉ cần cẩn thận để ghi lại chức năng trả về dự kiến của các phương thức của bạn.
Nguồn
2011-09-11 19:39:11
Cho rằng PHP không có kiểm tra loại nghiêm ngặt và sử dụng kiểu gõ vịt, tôi đồng ý. Tôi nghĩ rằng việc sử dụng giao diện sẽ giúp bạn hiểu mã của mình. –
@Micheal Mior: PHP biết loại gợi ý: 'hàm foo (BarClass $ x) {echo $ x-> hello; } ' – KingCrunch
@KingCrunch Nó có, nhưng nó không phải là bằng chứng đánh lừa. – GolezTrol