Interface định nghĩa một contract — tập phương thức mà class implement bắt buộc phải có.
php
interface UserRepository {
public function find($id);
public function save($user);
}Bất kỳ class nào implement interface này đều phải triển khai đủ các phương thức đó.
Lợi ích: đảm bảo tính nhất quán giữa các implementation, cho phép polymorphism, dễ viết test với mock. Dùng interface khi cần bảo đảm một số phương thức luôn tồn tại, bất kể cách hiện thực cụ thể ra sao.