Objekti unutar klasa u OOP u PHP-u

U klasama možemo koristiti objekte drugih klasa. Pogledajmo to na primeru. Pretpostavimo da želimo da napravimo korisnika sa imenom i prezimenom, kao i gradom u kome živi. Neka imamo sledeću klasu za grad:

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

Ime, prezime i grad ćemo proslediti kao parametre 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;
    }
  }
?>

Pritom će ime i prezime biti stringovi, a grad - objekat svoje posebne klase:

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

Ispišimo ime našeg korisnika:

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

A sada ispišimo naziv grada za našeg korisnika:

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

Data je sledeća 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;
    }
  }
?>

Uredite tako da se u drugi i treći parametar prosleđuju objekti zasebnih klasa.

Задание 2

Kreirajte objekat zaposlenog koristeći klasu iz prethodnog zadatka.

Задание 3

Ispišite u konzoli ime, poziciju i odeljenje za kreiranog zaposlenog.