在PHP中实现类似多继承的东西

时间:2014-07-01 17:57:59

标签: php oop yii

我为Yii做了一个扩展,以包装亚马逊的SES。它有效,但我不喜欢这个结构。来源位于bitbucket repo。理想情况下,我希望SESComponent扩展CApplicationComponent AND Mailer。您可以看到我只创建了一个属性mailer,并在后续调用中使用它来发送邮件。 (也许这样可以吗?...)

我真的希望能够使用Yii::app()->ses语法来调用它,但我不知道如何正确地注入邮件依赖项。我想过尝试让Mailer实现IBehavior,并将行为附加到SESComponent,但我不知道如何实现IBehavior的方法。

我已经查看了Yii的CBehavior源代码,并且有一些类代码可以实现IBehavior(我认为......)。我不确定实现IBehavior所需的最低代码是什么。显然我有4种方法可以实现,但我不知道从哪里开始,或者我是否在正确的轨道上。