Disa Trait-e në OOP në PHP
Në një klasë mund të përdorni jo një, por disa
trait-e. Kjo është pikërisht përparësia e tyre
krahasuar me trashëgiminë. Trait-et e nevojshme për përdorim
në klasë mund të specifikohen përmes presjes
pas fjalës kyçe use.
Le ta shohim me një shembull. Supozoni se kemi dy trait-e. I pari:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
I dyti:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Le të përdorim trait-et tona në një klasë:
<?php
class User
{
use Helper1, Helper2; // lidhim trait-et
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Krijoni 3 trait-e me emrat Trait1,
Trait2 dhe Trait3. Le të ketë në të parin
trait metodën method1, që kthen
1, në trait-in e dytë - metodën method2,
që kthen 2, dhe në trait-in e tretë
- metodën method3, që kthen 3.
Le të jenë të gjitha këto metoda private.
Krijoni një klasë Test, që përdor
të tre trait-et e krijuar nga ne. Krijoni në
këtë klasë një metodë publike getSum,
që kthen shumën e rezultateve të metodave të trait-eve të lidhur.