我为Yii做了一个扩展,以包装亚马逊的SES。它有效,但我不喜欢这个结构。来源位于bitbucket repo。理想情况下,我希望SESComponent扩展CApplicationComponent AND Mailer。您可以看到我只创建了一个属性mailer
,并在后续调用中使用它来发送邮件。 (也许这样可以吗?...)
我真的希望能够使用Yii::app()->ses
语法来调用它,但我不知道如何正确地注入邮件依赖项。我想过尝试让Mailer实现IBehavior,并将行为附加到SESComponent,但我不知道如何实现IBehavior的方法。
我已经查看了Yii的CBehavior源代码,并且有一些类代码可以实现IBehavior(我认为......)。我不确定实现IBehavior所需的最低代码是什么。显然我有4种方法可以实现,但我不知道从哪里开始,或者我是否在正确的轨道上。
答案 0 :(得分:0)
这里有很多资源可以帮到你。一个是behavior
,另一个是PHP Traits。
对于您可以遵循的行为: http://www.yiiframework.com/wiki/44/behaviors-events/ http://www.yiiframework.com/wiki/481/how-to-implement-an-event-and-attach-it-in-a-behavior/
示例扩展名如:
http://www.yiiframework.com/extension/remember-filters-gridview
http://www.yiiframework.com/extensions/?tag=behavior