PHPda OOPda klasslar ichida obyektlar

Klasslar ichida boshqa klasslarning obyektlaridan foydalanish mumkin. Keling, buni misolda ko'rib chiqaylik. Faraz qilaylik, biz ism va familiyasi, shuningdek yashaydigan shahri bo'lgan foydalanuvchi yaratmoqchimiz. Faraz qilaylik, bizda shahar uchun quyidagi klass mavjud:

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

Ism, familiya va shaharni konstruktor parametrlari sifatida o'tkazamiz:

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

Bunda ism va familiya matn (string) bo'ladi, ammo shahar - o'zining alohida klassining obyekti bo'ladi:

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

Keling, foydalanuvchimizning ismini chiqaraylik:

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

Endi esa foydalanuvchimizning shahar nomini chiqaraylik:

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

Quyidagi klass berilgan:

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

Ikkinchi va uchinchi parametrlarga alohida klasslarning obyektlari o'tkazilishini ta'minlang.

Задание 2

Oldingi vazifadagi klass yordamida ishchi obyektini yarating.

Задание 3

Yaratilgan ishchining ismi, lavozimi va bo'limini konsolda chiqaring.