PHPda OOPda klasslar ichida obyektlar
Klasslar ichida boshqa klasslarning obyektlaridan foydalanish mumkin. Keling, buni misolda ko'rib chiqaylik. Faraz qilaylik, biz ism va familiyasi, shuningdek yashaydigan shahri bo'lgan foydalanuvchi yaratmoqchimiz. Faraz qilaylik, bizda shahar uchun quyidagi klass mavjud:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Ism, familiya va shaharni konstruktor parametrlari sifatida o'tkazamiz:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
Bunda ism va familiya matn (string) bo'ladi, ammo shahar - o'zining alohida klassining obyekti bo'ladi:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
Keling, foydalanuvchimizning ismini chiqaraylik:
<?php
echo $user->name;
?>
Endi esa foydalanuvchimizning shahar nomini chiqaraylik:
<?php
echo $user->city->name;
?>
Quyidagi klass berilgan:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
Ikkinchi va uchinchi parametrlarga alohida klasslarning obyektlari o'tkazilishini ta'minlang.
Oldingi vazifadagi klass yordamida ishchi obyektini yarating.
Yaratilgan ishchining ismi, lavozimi va bo'limini konsolda chiqaring.