ობიექტები კლასების შიგნით OOP-ში PHP-ში

კლასებში შეგვიძლია გამოვიყენოთ სხვა კლასების ობიექტები. მოდით შევხედოთ მაგალითს. დავუშვათ, გვსურს შევქმნათ მომხმარებელი სახელით და გვარით, და ასევე ქალაქით, რომელშიც ის ცხოვრობს. დავუშვათ, გვაქვს შემდეგი კლასი ქალაქისთვის:

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

სახელს, გვარს და ქალაქს კონსტრუქტორს გადავცემთ პარამეტრებად:

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

ამ შემთხვევაში სახელი და გვარი იქნება სტრიქონები, ხოლო ქალაქი - ობიექტი საკუთარი ცალკე კლასის:

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

მოდით გამოვიტანოთ ჩვენი მომხმარებლის სახელი:

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

ახლა კი გამოვიტანოთ ქალაქის სახელი ჩვენი მომხმარებლისთვის:

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

მოცემულია შემდეგი კლასი:

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

გახადეთ ისე, რომ მეორე და მესამე პარამეტრებად გადაეცემათ ცალკე კლასების ობიექტები.

Задание 2

შექმენით ობიექტი თანამშრომლით წინა ამოცანის კლასის გამოყენებით.

Задание 3

გამოიტანეთ კონსოლში შექმნილი თანამშრომლის სახელი, პოზიცია და დეპარტამენტი.