PHP OOP-da Birnäçe treýt
Klase diňe bir däl, eýsem birnäçe treýt ulanyp bolýar. Bu olaryň miras almaga garanynda üstünligini görkezýär. Klasyňyzda ulanylmak üçin zerur treýtleri use açar sözünden soň oturmaly ýerleşdirip görkezip bilersiňiz.
Geliň mysal göreliň. Bizde iki sany treýt bar diýeliň. Birinjisi:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Ikinjisi:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Treýtlerimizi klasda ulanyalyň:
<?php
class User
{
use Helper1, Helper2; // treýtleri birikdirýäris
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
3 sany treýt ýasap, olara Trait1,
Trait2 we Trait3 diýip at beriň. Birinji treýtiň içinde 1 sanyny yzyna gaytaryan method1 metodu bolsun, ikinji treýtiň içinde 2 sanyny yzyna gaytaryan method2 metodu bolsun, üçünji treýtiň içinde bolsa 3 sanyny yzyna gaytaryan method3 metodu bolsun.
Bu metodlaryň hemmesi hususy bolsun.
Biz ýasan üç treýti hem ulanyan Test atly klas ýasap beriň. Bu klassyň içinde birikdirilen treýtleriň metodlarynyň netijeleriniň jemini yzyna gaytaryan getSum atly umumy metoda eýe bolsun.