PHP的trait使用中出现的问题

1.在trait中使用parent::init()出现调用了两次

在YII中BaseObject类中有init方法

在某个类中使用了trait,而trait中有init方法,并且init方法中调用了parent::init(),发现trait中的这个init方法调用了两次

2.method_exists方法不起作用

在YII中BaseObject类中的__get魔术方法会通过method_exists判断get开头的方法是否存在,如果这个方法是在trait中,则会判断为不存在,如果是在使用trait的类中使用method_exists判断,会判断为这个方法存在