Objektumok osztályokon belül OOP-ban PHP-ben
Osztályokban más osztályok objektumait használhatjuk. Nézzük meg egy példán. Tegyük fel, hogy szeretnénk létrehozni egy felhasználót keresztnévvel és vezetéknévvel, valamint a várossal, ahol él. Tegyük fel, hogy van a következő osztályunk a városhoz:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
A keresztnevet, vezetéknevet és várost a konstruktor paramétereiként adjuk át:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
Ebben az esetben a keresztnév és vezetéknév sztringek lesznek, de a város - a saját külön osztályának objektuma:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
Írjuk ki a felhasználónk nevét:
<?php
echo $user->name;
?>
Most pedig írjuk ki a város nevét a felhasználónknak:
<?php
echo $user->city->name;
?>
Adott a következő osztály:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
Állítsa be úgy, hogy a második és harmadik paraméterbe külön osztályok objektumai kerüljenek átadásra.
Hozzon létre egy objektumot munkavállalóval az előző feladat osztálya segítségével.
Írja ki a konzolra a létrehozott munkavállaló nevét, beosztását és osztályát.