อ็อบเจ็กต์ภายในคลาสใน OOP ใน PHP
ภายในคลาสสามารถใช้อ็อบเจ็กต์ ของคลาสอื่นได้ ลองดู ตัวอย่าง สมมติเราต้องการสร้างผู้ใช้ ที่มีชื่อและนามสกุล และ เมืองที่เขาอาศัยอยู่ สมมติว่ามีคลาส สำหรับเมืองดังต่อไปนี้:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
เราจะส่งชื่อ นามสกุล และเมือง เป็นพารามิเตอร์ของ คอนสตรักเตอร์:
<?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
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
ลองแสดงชื่อผู้ใช้ของเราออกมา:
<?php
echo $user->name;
?>
ตอนนี้ลองแสดงชื่อเมือง สำหรับผู้ใช้ของเรา:
<?php
echo $user->city->name;
?>
มีคลาสต่อไปนี้:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
ทำให้พารามิเตอร์ที่สองและสาม รับอ็อบเจ็กต์ของคลาสแยกต่างหาก
สร้างอ็อบเจ็กต์พนักงานโดยใช้ คลาสจากงานก่อนหน้า
แสดงชื่อ ตำแหน่ง และแผนกของพนักงานที่สร้างขึ้นทางคอนโซล