trait为了解决php单继承的问题。行为可以动态增减功能。
trait优先顺序:当前类的方法 --覆盖--> trait的方法 --覆盖--> 被继承的方法
behavior优先顺序:当前类的方法 --覆盖--> 被继承的方法 --覆盖--> 行为的方法
行为behavior的优势: 而由不同trait引发的命名冲突需要通过手工重命名冲突属性或方法来解决。
特性trait的优势: |
|
综上:用行为、用行为、用行为。
trait为了解决php单继承的问题。行为可以动态增减功能。
trait优先顺序:当前类的方法 --覆盖--> trait的方法 --覆盖--> 被继承的方法
behavior优先顺序:当前类的方法 --覆盖--> 被继承的方法 --覆盖--> 行为的方法
行为behavior的优势: 而由不同trait引发的命名冲突需要通过手工重命名冲突属性或方法来解决。
特性trait的优势: |
|
综上:用行为、用行为、用行为。