Геттери својстава у ООП у PHP

Рецимо да имамо следећу класу са приватним својствима:

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

Као што видите, ова својства се постављају једанпут приликом креирања објекта. Тренутно, међутим, ова својства није могуће прочитати, јер су приватна и не постоје одговарајуће методе за то.

Направимо за наша својства специјалне методе које омогућавају читање ових својстава. Такве методе (које се називају гетери) обично почињу са речју get, а затим следи назив својства које се чита.

Направимо гетере наших својстава:

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

Хајде да проверимо њихов рад. Креирајмо објекат, проследивши параметром податке корисника:

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

Прочитајмо ове податке, искористивши гетере:

php<?php
  var_dump($user->getName());
  var_dump($user->getSurn());
?>
Задание 1

У класи Employee направите три приватна својства: име, плату и године.

Задание 2

Проследите параметрима конструктора вредности ових својстава.

Задание 3

Направите гетере, који исписују вредности сваког од наших својстава.