【PHP之Traits】3d
一、Traits基础code
二、优先级:当前类中的方法会覆盖 Trait 方法,而Trait方法覆盖了基类中的方法。blog
三、多个Traits,使用use声明列出多个Traits。it
四、冲突的解决:为了解决两个 Traits 在同一个类中的命名冲突,须要使用 insteadof 操做符来明确指定冲突方法中的一个。因为这仅容许排除一个方法,as 操做符能够将冲突的方法以另外一个名称来引入。基础
五、修改方法可见性:使用的类能够经过 as 语法来调整方法的可见性变量
六、Traits组:其余 traits 也可以使用 traits,正如类可以使用 traits。 在 trait 定义时经过使用一个或多个 trait,它可以组合其余 traits 中的部分或所有成员。语法
七、抽象成员:为了对使用的类施增强制要求,Trait 支持抽象方法的使用。 引用
八、Traits静态成员:静态变量能够被 trait 的方法引用,但不能被 trait 定义。可是 traits 可以为使用的类定义静态方法。方法
九、属性:若是 trait 定义了一个属性,那类将不能定义一样名称的属性,不然会产生一个错误。 若是类的定义是兼容的(一样的可见性和初始值)则错误的级别是 E_STRICT
,不然是一个致命错误。im