Објекти во класи во ООП во PHP

Во класите може да се користат објекти од други класи. Ајде да погледнеме на пример. Да речеме дека сакаме да направиме корисник со име и презиме, како и град во кој живее. Да претпоставиме дека ја имаме следнава класа за градот:

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

Името, презимето и градот ќе ги пренесуваме како параметри на конструкторот:

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

При што името и презимето ќе бидат стрингови, додека градот - објект од своја посебна класа:

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

Ајде да го испечатиме името на нашиот корисник:

php<?php
  echo $user->name;
?>

А сега да го испечатиме името на градот за нашиот корисник:

php<?php
  echo $user->city->name;
?>
Задание 1

Дадена е следнава класа:

php<?php
  class Employee {
    public $name;
    public $position;
    public $department;
  
    public function __construct($name, $position, $department) {
      $this->name = $name;
      $this->position = $position;
      $this->department = $department;
    }
  }
?>

Направете така што во вториот и третиот параметар да се пренесуваат објекти од посебни класи.

Задание 2

Создадете објект со работник со помош на класата од претходната задача.

Задание 3

Испечатете во конзола име, позиција и оддел за создадениот работник.