Trong các lớp PHP, bạn cũng có thể dễ dàng triển khai các phương thức getter và setter
Tại sao bạn nên sử dụng một phương thức để truy xuất hoặc đặt biến của một lớp thay vì truy cập trực tiếp vào nó?
Nó khá đơn giản
Nếu bạn đặt thuộc tính của lớp là công khai, thì bạn sẽ không kiểm soát được giá trị mà thuộc tính có thể nhận. Bất kỳ mã bên ngoài nào cũng có thể thay đổi nó mà không có bất kỳ ràng buộc nào
Thay vào đó, nếu bạn đặt thuộc tính là riêng tư và cung cấp một phương thức công khai để đặt giá trị của nó, bạn có thể quyết định chấp nhận giá trị nào và bạn có thể thực hiện bất kỳ loại xác thực và làm sạch nào trước khi đặt giá trị mới.
Nói cách khác, bạn có thể triển khai bộ lọc giữa thuộc tính và mã bên ngoài lớp
Trong ví dụ ngắn sau đây, bạn có thể xem cách triển khai các hàm getter và setter trong PHP
Trong ví dụ này, thuộc tính $name phải dài từ 3 đến 16 ký tự. Hàm setter đảm bảo rằng độ dài của tên mới nằm trong phạm vi đó trước khi thay đổi thuộc tính.