php - trait初理解
trait自从5.4起,用来解决类似php这种只允许单继承的不足的类似语言,可以避免了多继承和Mixin类的高耦合问题
表示特征的意思
在一个class中使用use来引入trait
方法的等级排序:class类的方法 > trait的方法 > 大于继承的方法
同一个类中trait允许引入多个
可是这样就会出现多个trait出现相同名称的方法,会报致命错误
1.这个时候就可以使用insteadof来
B::smallTalk insteadof A;
上面那个就是说使用B的方法
2.或者使用as来给不同的trait方法变量起别名
B::bigTalk as talk;
as语法还能用来修改trait的方法访问控制类型
trait里面也可以使用use来引用trait
trait还可以定义抽象方法进行对use他的类进行强制要求进行重写该方法
class引进trait后,php7.0以前不能创建和trait一样的属性名,之后可以创建访问度一样,名称一致,值一致的变量,不一致就会报致命错误
reyirfw,追求无悔
每当你在感叹 如果有这样一个东西就好了的时候 请注意 其实这是你的机会