Приватные свойства в ООП в PHP

Свойства объекта, которые можно прочитывать и записывать извне, называются публичными. Существуют также приватные свойства, которые будут доступны только внутри класса.

Имена приватных свойств нужно объявлять с модификатором доступа private. Давайте сделаем это:

php<?php
  class User {
    private $name;
  }
?>

Теперь запишем данные в наше свойство. Это можно сделать, например, в конструкторе класса:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
  }
?>

Сделаем теперь метод, который будет возвращать значение нашего свойства:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->name;
    }
  }
?>

Создадим объект класса, передав параметром имя юзера:

php<?php
  $user = new User('john');
?>

Попытка обратиться напрямую к нашему свойству вне класса приведет к ошибке:

php<?php
  echo $user->name; // ошибка
?>

А вызов нашего метода позволит прочитать это свойство:

php<?php
  echo $user->show(); // выведет 'john'
?>
Задание 1

В классе Employee сделайте три приватных свойства: имя, зарплату и возраст.

Задание 2

Передайте параметром конструктора значения этих свойств.

Задание 3

Сделайте метод, который выведет данные работника.