Objekty uvnitř tříd v OOP v PHP

Ve třídách lze používat objekty jiných tříd. Podívejme se na příklad. Předpokládejme, že chceme vytvořit uživatele s jménem a příjmením a také městem, ve kterém žije. Předpokládejme, že máme následující třídu pro město:

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

Jméno, příjmení a město budeme předávat parametry konstruktoru:

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

Přičemž jméno a příjmení budou řetězce, ale město - objektem vlastní samostatné třídy:

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

Vypišme jméno našeho uživatele:

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

A nyní vypišme název města pro našeho uživatele:

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

Je dána následující třída:

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

Zařiďte, aby se do druhého a třetího parametru předávaly objekty samostatných tříd.

Задание 2

Vytvořte objekt s pracovníkem pomocí třídy z předchozí úlohy.

Задание 3

Vypište do konzole jméno, pozici a oddělení pro vytvořeného pracovníka.