Obiekty wewnątrz klas w OOP w PHP

W klasach można używać obiektów innych klas. Spójrzmy na przykład. Załóżmy, że chcemy stworzyć użytkownika z imieniem i nazwiskiem, a także miastem, w którym mieszka. Załóżmy, że mamy następującą klasę dla miasta:

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

Będziemy imię, nazwisko i miasto przekazywać parametrami konstruktora:

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;
    }
  }
?>

Przy czym imię i nazwisko będą ciągami znaków, a miasto - obiektem swojej osobnej klasy:

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

Wypiszmy imię naszego użytkownika:

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

A teraz wypiszmy nazwę miasta dla naszego użytkownika:

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

Dana jest następująca klasa:

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;
    }
  }
?>

Spraw, aby do drugiego i trzeciego parametru przekazywane były obiekty osobnych klas.

Задание 2

Stwórz obiekt pracownika za pomocą klasy z poprzedniego zadania.

Задание 3

Wypisz w konsoli imię, stanowisko i dział dla stworzonego pracownika.