Getters and Setters — a practical guide to getters setters OOP with clear examples you can reuse in real projects.
OOP Tutorial Series (36/65). Prefer one article? Read the complete OOP tutorial.
Short description
Getters/setters validate changes and preserve encapsulation. In modern PHP, consider readonly properties when mutation is unnecessary.
Getter/setter
class Profile {
public function __construct(private string $email) {}
public function getEmail(): string { return $this->email; }
public function setEmail(string $email): void {
if (! filter_var($email, FILTER_VALIDATE_EMAIL)) {
throw new InvalidArgumentException('Invalid email');
}
$this->email = $email;
}
}