Obiekty wewnątrz klas w OOP w PHP
W klasach można używać obiektów innych klas. Spójrzmy na przykład. Załóżmy, że chcemy stworzyć użytkownika z imieniem i nazwiskiem, a także miastem, w którym mieszka. Załóżmy, że mamy następującą klasę dla miasta:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Będziemy imię, nazwisko i miasto przekazywać parametrami konstruktora:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
Przy czym imię i nazwisko będą ciągami znaków, a miasto - obiektem swojej osobnej klasy:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
Wypiszmy imię naszego użytkownika:
<?php
echo $user->name;
?>
A teraz wypiszmy nazwę miasta dla naszego użytkownika:
<?php
echo $user->city->name;
?>
Dana jest następująca klasa:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
Spraw, aby do drugiego i trzeciego parametru przekazywane były obiekty osobnych klas.
Stwórz obiekt pracownika za pomocą klasy z poprzedniego zadania.
Wypisz w konsoli imię, stanowisko i dział dla stworzonego pracownika.