You can specify a method that must be declared in the class that uses the trait.
Same thing with the abstract keyword.
trait traitname{ abstract access modifier function method name(); }
So let's look at an example.
<?php trait apple { // must declare likeApple() method abstract static function likeApple(); public static function phone() { return 'iPhone'; } } class disney { use apple; } $disney = new disney; ?>
Result
The error occurs because you do not declare the likeApple method in the disney class. The following example declares the likeApple() method.
<?php trait apple { //must declare likeApple() method abstract static function likeApple(); public static function phone() { return 'iPhone'; } } class disney { use apple; public function likeApple() { return 'Disney and Apple are friendly.'; } } $disney = new disney; echo $disney->likeApple(); ?>
Result
We have seen how to use this abstract to create method rules in a trait. ^-^ *