Objecten binnen klassen in OOP in PHP

In klassen kunnen we objecten van andere klassen gebruiken. Laten we een voorbeeld bekijken. Stel we willen een gebruiker maken met een voornaam en achternaam, en ook een stad waar hij woont. Stel we hebben de volgende klasse voor een stad:

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

We zullen de voornaam, achternaam en stad als parameters doorgeven aan de constructor:

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

Hierbij zullen de voornaam en achternaam strings zijn, maar de stad - een object van zijn eigen aparte klasse:

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

Laten we de voornaam van onze gebruiker weergeven:

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

En laten we nu de stadnaam weergeven voor onze gebruiker:

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

Gegeven de volgende klasse:

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

Zorg ervoor dat naar de tweede en derde parameters objecten van aparte klassen worden doorgegeven.

Задание 2

Maak een object van een werknemer met behulp van de klasse uit de vorige opdracht.

Задание 3

Geef de naam, functie en afdeling weer in de console voor de gemaakte werknemer.