Objekty uvnitř tříd v OOP v PHP
Ve třídách lze používat objekty jiných tříd. Podívejme se na příklad. Předpokládejme, že chceme vytvořit uživatele s jménem a příjmením a také městem, ve kterém žije. Předpokládejme, že máme následující třídu pro město:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Jméno, příjmení a město budeme předávat parametry konstruktoru:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
Přičemž jméno a příjmení budou řetězce, ale město - objektem vlastní samostatné třídy:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
Vypišme jméno našeho uživatele:
<?php
echo $user->name;
?>
A nyní vypišme název města pro našeho uživatele:
<?php
echo $user->city->name;
?>
Je dána následující třída:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
Zařiďte, aby se do druhého a třetího parametru předávaly objekty samostatných tříd.
Vytvořte objekt s pracovníkem pomocí třídy z předchozí úlohy.
Vypište do konzole jméno, pozici a oddělení pro vytvořeného pracovníka.