Objektit luokkien sisällä OOP:ssa PHP:ssä
Luokissa voidaan käyttää objekteja muita luokkia. Katsotaanpa esimerkkiä. Oletetaan, että haluamme tehdä käyttäjän jonka on etunimi ja sukunimi, sekä kaupunki, jossa hän asuu. Oletetaan, että meillä on seuraava luokka kaupungille:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Annetaan etunimi, sukunimi ja kaupunki konstruktorin parametreina:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
Tässä tapauksessa etunimi ja sukunimi ovat merkkijonoja, mutta kaupunki on objekti omasta erillisestä luokastaan:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
Tuodaan esille käyttäjämme etunimi:
<?php
echo $user->name;
?>
Tuodaan nyt esille käyttäjämme kaupungin nimi:
<?php
echo $user->city->name;
?>
Annettu seuraava luokka:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
Tee niin, että toiseen ja kolmanteen parametriin välitetään erillisten luokkien objekteja.
Luo objekti työntekijästä käyttämällä edellisen tehtävän luokkaa.
Tulosta konsoliin luodun työntekijän nimi, tehtävä ja osasto.