Обекти вътре в класове в ООП в 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;
}
}
?>
Направете така, че във втория и третия параметър да се подават обекти от отделни класове.
Създайте обект със служител с помощта на класа от предишната задача.
Изведете в конзолата името, длъжността и отдела за създадения служител.