Interface định nghĩa một hợp đồng (contract)—tập hợp các phương thức mà class implement bắt buộc phải có. Khai báo: 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 tất cả phương thức đó.
Lợi ích: đảm bảo tính nhất quán giữa các implementations, cho phép polymorphism, dễ viết test với mock. Dùng interface khi cần đảm bảo các phương thức nhất định tồn tại bất kể cách implement cụ thể là gì.