Objecten binnen klassen in OOP in PHP
In klassen kunnen we objecten van andere klassen gebruiken. Laten we een voorbeeld bekijken. Stel we willen een gebruiker maken met een voornaam en achternaam, en ook een stad waar hij woont. Stel we hebben de volgende klasse voor een stad:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
We zullen de voornaam, achternaam en stad als parameters doorgeven aan de constructor:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
Hierbij zullen de voornaam en achternaam strings zijn, maar de stad - een object van zijn eigen aparte klasse:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
Laten we de voornaam van onze gebruiker weergeven:
<?php
echo $user->name;
?>
En laten we nu de stadnaam weergeven voor onze gebruiker:
<?php
echo $user->city->name;
?>
Gegeven de volgende klasse:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
Zorg ervoor dat naar de tweede en derde parameters objecten van aparte klassen worden doorgegeven.
Maak een object van een werknemer met behulp van de klasse uit de vorige opdracht.
Geef de naam, functie en afdeling weer in de console voor de gemaakte werknemer.