YII2-你所该知道的杀马特操作-灵活配置config

博客 · 本文由 · 加班中途去撩妹 · 发布于 29天前 · 223 阅读

我们在使用YII2的时候,经常会遇到需要定义config里各种参数,某些时候我们需要进行一些参数的修改。比如需要一个邮件发送功能,但是发送邮件的参数保存在数据库里面,所以我们就需要自定义发送邮件的各项参数了。

我们通常会进行以下配置

'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'useFileTransport' => false,
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.qq.com',
                'username' => '888888@qq.com',
                'password' => '8888',
                'port' => '25',
                'encryption' => 'tls',

            ],
            'messageConfig'=>[
                'charset'=>'UTF-8',
                'from'=>['88888@qq.com'=>'admin']
            ],
        ],

获取到mailer对象如下,Yii::$app->mailer,YII2 的设计Yii::$app下的对象 刚好components里配置的对象, 通过上面的components的配置结构我们知道mailer对象是由yii\swiftmailer\Mailer类生成的,并且mailer还有一个transport对象由Swift_SmtpTransport类生产,通过以下操作

我们就得到了$mAiler实列:

$mAiler->setTo($to);//收件人
$mAiler->setSubject($subject);//主题
$mAiler->setTextBody($text);//内容
$mAiler->send();

我们也可以通过Yii::$app->mailer 拿到 mailer->对象,然后mailer->transport->host...等等进行变量的定义,但是 PHPstorm 没有对代码进行提示,所以不太喜欢,如果你不慌倒是可以使用。

如果需要临时改变以下db的属性你也可以有以下操作,至于效果嘛。。。我还没去试,估计是对当前一次的http请求生效吧

成为第一个本话题的爱慕者吧

评论数量:3

第一张图有点模糊,能换成代码吗?

29天前 回复

@暴走黄小超 已修改

28天前 回复

@加班中途去撩妹 谢谢~

26天前 回复