อ็อบเจ็กต์ภายในคลาสใน 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

แสดงชื่อ ตำแหน่ง และแผนกของพนักงานที่สร้างขึ้นทางคอนโซล