Ứng dụng thực tế của magic method trong OOP trong PHP

Ứng dụng thực tế của phương thức __set bạn sẽ tự tìm hiểu bằng cách giải bài tập như sau:

Задание 1

Giả sử có lớp User sau với các getter và setter của thuộc tính:

php<?php
  class User
  {
    private $name;
    private $age;
    
    public function getName()
    {
      return $this->name;
    }
    
    public function setName($name)
    {
      if ($name != '') {
        $this->name = $name;
      }
    }
    
    public function getAge()
    {
      return $this->age;
    }
    
    public function setAge($age)
    {
      if ($age >= 0 and $age <= 70) { // kiểm tra tuổi
        $this->age = $age;
      }
    }
  }
?>

Hãy sửa đổi mã của lớp này để thay vì các getter và setter, hãy sử dụng các phương thức magic __get và __set.