php5.4 引入trait,和面向对象的大众接受的发展程度有关. 继承组合,设计模式, 框架,已经或即将成为主流,目的是为了提高生产力.复用是提高生产力的一个途径之一. trait是个古老的概念,之前一直停留在学术领域,近年来软件技术的发展,导致了这种东西被工业化市场化,php与时俱进,不错.
interface和 absolute class存在于java语言中,php5引入了这两者.php5.4引入的trait,是java语言所没有的"新东西".trait对开发者而言,可 以完全取代interface和absolute class.同时开发者也会更喜欢trait,因为trait中包含"真正可以运行的功能特征",而不是interface那样的一张白纸,也不是 absolute那样只能"单继承".
简单的说,一个trait可以被看做一个"角色类",use trait的时候,就是把这个角色类"插入"到继承链的中间.举例: