Objekt inuti klasser i OOP i PHP

I klasser kan man använda objekt från andra klasser. Låt oss titta på ett exempel. Låt oss säga att vi vill skapa en användare med förnamn och efternamn, samt en stad där de bor. Låt oss säga att vi har följande klass för staden:

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

Vi kommer att skicka förnamn, efternamn och stad som parametrar till konstruktorn:

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

Förnamn och efternamn kommer att vara strängar, men staden - ett objekt av sin egen separata klass:

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

Låt oss skriva ut vår användares förnamn:

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

Och nu låt oss skriva ut stadens namn för vår användare:

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

Följande klass är given:

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

Gör så att den andra och tredje parametern får objekt från separata klasser.

Задание 2

Skapa ett objekt med en anställd med hjälp av klassen från föregående uppgift.

Задание 3

Skriv ut namnet, positionen och avdelningen för den skapade anställde i konsolen.