Objektai klasėse OOP PHP

Klasėse galima naudoti objektus kitų klasių. Pažiūrėkime pavyzdžiu. Tarkime, norime sukurti vartotoją su vardu ir pavarde, taip pat miestu, kuriame jis gyvena. Tarkime, turime tokią klasę miestui:

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

Vardą, pavardę ir miestą perduosime konstruktoriaus parametrais:

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

Šiuo atveju vardas ir pavardė bus eilutės, o miestas - objektas savo atskiros klasės:

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

Išveskime mūsų vartotojo vardą:

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

O dabar išveskime mūsų vartotojo miesto pavadinimą:

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

Duota ši klasė:

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

Padarykite taip, kad į antrą ir trečią parametrus būtų perduodami atskirų klasių objektai.

Задание 2

Sukurkite darbuotojo objektą naudodami klasę iš ankstesnės užduoties.

Задание 3

Išveskite į konsolę vardą, pareigas ir skyrių sukurtam darbuotojui.