Magic methods là các phương thức đặc biệt tự động được gọi khi có hành động tương ứng xảy ra. Các magic method quan trọng: __construct() (chạy khi tạo object), __destruct() (chạy khi hủy object), __get() (truy cập thuộc tính không tồn tại), __set() (gán thuộc tính không tồn tại), __call() (gọi phương thức không tồn tại), __toString() (khi object được in như chuỗi).
Ví dụ: truy cập $user->email private sẽ kích hoạt __get("email") để kiểm soát quyền truy cập. Hầu hết magic method phải là public; __construct có thể là protected hoặc private khi dùng cho singleton pattern.