trait
- 最少PHP 5.4才可以使用
- 它是类的部分实现
- 他的出现是为了针对PHP单继承的一种弥补
下面介绍语法规则
基础版
做一个最简单的demo就是
trait Helper{
public function show(){
print "Helper";
}
}
class Example3{
use Helper;
}
$exmaple3=new Example3();
$exmaple3->show();
简单来说就是定义为trait
的类,其他的类需要调用时,只需要一个use
就可以了,当然,如果有命名空间,还需要加上命名空间。
但是还有一些别的注意点,下面就一一来解析。
private
的属性和方法也可以访问
trait Helper{
private function show(){
print "Helper";
}
}
class Example3{
use Helper;
public function showInfo(){
$this->show();
}
}
$exmaple3=new Example3();
$exmaple3->showInfo();
trait
中的private
方法,在Example3
中也可以使用。
优先级
自身方法>trait的方法>继承的方法
trait Helper{
public function show(){
print "Helper";
}
}
class Base{
public function show(){
print "Base"