PHP Trait特性

Posted echo 曦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Trait特性相关的知识,希望对你有一定的参考价值。

php类的单继承性,无法同时从两个基类中继承属性和方法,为了解决这个问题,使用Trait特性解决.

Trait是一种代码复用技术,为PHP的单继承限制提供了一套灵活的代码复用机制.

用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词.  注意:Trait不能实例化

 

demo示例:

 1 <?php
 2 trait Dog{
 3     public function dog(){
 4     echo \'This trair dog\';
 5     }
 6 }
 7 
 8 trait Fish{
 9     public function fish(){
10     echo \'This trair fish\';
11     }
12 }
13 
14 
15 class Animal{
16     public function name(){
17         echo \'This is animal\';
18     }
19 }
20 
21 class Cat extends Animal{
22     use Dog,Fish;
23     public function eat(){
24         echo \'This is animal cat eat\';
25     }
26 }
27 
28 $data = new Cat();
29 $data->name();//This is animal
30 echo \'<pre>\';
31 $data->eat();//This is animal cat eat
32 echo \'<pre>\';
33 $data->dog();//This trair dog
34 echo \'<pre>\';
35 $data->fish();//This trair fish

 

结果打印:

以上是关于PHP Trait特性的主要内容,如果未能解决你的问题,请参考以下文章

trait,interface,abstract,PHP7新特性以及PHP闭包学习

现代 PHP 新特性系列 —— Trait 概览

trait能力在PHP中的使用

PHP Trait特性

转PHP的Trait 特性

PHP 特性之 trait