A Trait is simply a group of methods that you want include within another class. A Trait, like an abstract class, cannot be instantiated on it’s own.
As of PHP 5.4.0, PHP implements a method of code reuse called Traits.
A Trait is similar to a class, but only intended to group functionality in a fine-grained and consistent way. It is not possible to instantiate a Trait on its own. It is an addition to traditional inheritance and enables horizontal composition of behavior; that is, the application of class members without requiring inheritance.
- Multiple traits can be used by a single class.
- A trait can declare a private variable.
- Traits are able to be auto-loaded.
<?php
trait A {
public function hello() {
return "PHP";
}
public function world() {
return "Codez";
}
}
class test{
use A ;
}
$obj = new test();
echo $obj->hello()."\n";
echo $obj->world()."\n";
?>