Неколку трејтови во ООП во PHP
Во класата може да се користи не еден, туку неколку
трејтови. Во ова се манифестира нивната предност
над наследувањето. Потребните трејтови за употреба
во класата може да се наведат запирка
по клучниот збор use.
Да погледнеме на пример. Да претпоставиме дека имаме два трејта. Првиот:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Вториот:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Да ги искористиме нашите трејтови во класа:
<?php
class User
{
use Helper1, Helper2; // поврзуваме трејтови
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Направете 3 трејта со имиња Trait1,
Trait2 и Trait3. Нека во првиот
трејт има метод method1, кој враќа
1, во вториот трејт - метод method2,
кој враќа 2, а во третиот трејт
- метод method3, кој враќа 3.
Нека сите овие методи бидат приватни.
Направете класа Test, која користи
сите три креирани од нас трејтови. Направете во
оваа класа јавен метод getSum,
кој ја враќа сумата на резултатите од методите на поврзаните
трејтови.