正文  软件开发 > PHP编程技术 >

关于PHP中的Trait,PHP中Trait

关于PHP中的Trait,PHP中Trait今天看PHP框架,看到Trait部分。没见过,好奇查了一下。 PHP手册说的是解决多继承的问题。但是一般面向对象的语言中,解决多继承都是通过接口,PHP...

关于PHP中的Trait,PHP中Trait

今天看PHP框架,看到Trait部分。没见过,好奇查了一下。

PHP手册说的是解决多继承的问题。但是一般面向对象的语言中,解决多继承都是通过接口,PHP也有接口。貌似看上去Trait和Interface是冲突的,不过深入看一下Trait和Interface的用法,其实有着本质的区别。Interface定义方法,由继承的类去实现,而Trait则是实现一些需要重复使用的具体方法。因此,我觉得Trait与其说是为了解决PHP面向对象的多继承而做的代码复用,不如说是PHP中重复代码引入的代码片段!……^