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