Multiple Traits in OOP in PHP
A class can use not one, but several
traits. This is where their advantage
over inheritance manifests itself.
The traits needed for use
in a class can be listed separated by commas
after the keyword use
.
Let's look at an example. Suppose we have two traits. First:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Second:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Let's use our traits in a class:
<?php
class User
{
use Helper1, Helper2; // connect traits
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Create 3
traits named Trait1
,
Trait2
and Trait3
. Let the first
trait have a method method1
returning
1
, the second trait - a method method2
,
returning 2
, and the third trait
- a method method3
, returning 3
.
Let all these methods be private.
Create a class Test
that uses
all three traits we created. Create a
public method getSum
in this class,
returning the sum of the results of the methods of the connected
traits.