Objekty vnútri tried v OOP v PHP
V triedach je možné používať objekty iných tried. Pozrime sa na príklad. Povedzme, že chceme vytvoriť používateľa s menom a priezviskom, ako aj s mestom, v ktorom žije. Predpokladajme, že máme nasledujúcu triedu pre mesto:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Meno, priezvisko a mesto budeme odovzdávať parametrami konštruktora:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
Pričom meno a priezvisko budú reťazce, ale mesto - objektom svojej vlastnej samostatnej triedy:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
Vypíšme meno nášho používateľa:
<?php
echo $user->name;
?>
A teraz vypíšme názov mesta nášho používateľa:
<?php
echo $user->city->name;
?>
Daná je nasledujúca trieda:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
Zaistite, aby sa do druhého a tretieho parametra odovzdávali objekty samostatných tried.
Vytvorte objekt pracovníka pomocou triedy z predchádzajúcej úlohy.
Vypíšte do konzoly meno, pozíciu a oddelenie pre vytvoreného pracovníka.