Objekte innerhalb von Klassen in OOP in PHP

In Klassen können Objekte anderer Klassen verwendet werden. Schauen wir uns ein Beispiel an. Angenommen, wir möchten einen Benutzer mit Vor- und Nachname sowie der Stadt, in der er lebt, erstellen. Nehmen wir an, wir haben die folgende Klasse für die Stadt:

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

Wir werden Vorname, Nachname und Stadt als Parameter an den Konstruktor übergeben:

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

Dabei werden Vorname und Nachname Zeichenketten sein, aber die Stadt - ein Objekt einer eigenen separaten Klasse:

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

Lassen Sie uns den Namen unseres Benutzers ausgeben:

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

Und jetzt geben wir den Namen der Stadt für unseren Benutzer aus:

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

Gegeben ist die folgende 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;
    }
  }
?>

Sorgen Sie dafür, dass an den zweiten und dritten Parameter Objekte separater Klassen übergeben werden.

Задание 2

Erstellen Sie ein Objekt eines Mitarbeiters mit Hilfe der Klasse aus der vorherigen Aufgabe.

Задание 3

Geben Sie in der Konsole den Namen, die Position und die Abteilung des erstellten Mitarbeiters aus.