PHPде ООПдо модификаторлор жана трейттер
Трейттерди колдонуу - бул мурастоо эмес экендигине көңүл бурууңуз керек. Мурастоодо жеке ыкмалар жана касиеттер мурасталбайт.
Трейттерде болсо, баардыгы тескерисинче: трейтти колдонгон класста класстын жеке ыкмалары да, касиеттери да жарыялык ыкмалар сыяктуу эле жеткиликтүү болот.
Мисал менен көрөлү. Бизде төмөнкүдөй жеке ыкмасы бар трейт бар деп коёлу:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Трейтибизди класска туташтыралы:
<?php
class Test
{
use TestTrait;
}
new Test;
?>
Трейттин жеке ыкмасын колдонолу:
<?php
class Test
{
use TestTrait; // трейтти туташтыруу
public function __construct()
{
echo $this->method(); // '!!!' чыгарат
}
}
new Test;
?>