Yii2.0中动态管理组件components

组件

组件是 Yii 应用的主要基石。是 yii\base\Component 类或其子类的实例。 具有非常强大的功能, 我们的操作大部分都是通过内置组件实现的

组件默认为写入代码中的配置项, 在程序运行中, 当我们需要去控制组件时, 就需要动态的管理组件了, Yii提供了几种方法来设置组件

下面假设我们需要动态修改mailer组件, 从数据库中取出配置参数, 动态的去更新组件
默认在文件中配置是不支持取数据库的

1.获取组件

使用getComponents方法,该方法返回所有的组件信息, 该方法有个$returnDefinitions参数, 默认等于true, 返回所有组件的定义, 其实就是配置数组
如果将该参数设置为false, 则返回所有已有实例的组件
我们要重新配置组件的话, 则需要取组件的配置数组

$mailerParams = Yii::$app->getComponents()['mailer'];
print_r($mailerParams);
// 此处配置我已经在 common/config/main-local.php中配置过了, 默认没有这么多选项
/**
Array
(
    [class] => yii\swiftmailer\Mailer
    [viewPath] => @common/mail
    [useFileTransport] => 
    [transport] => Array
        (
            [class] => Swift_SmtpTransport
            [host] => smtp.qq.com
            [username] => [email protected]
            [password] => 
            [port] => 465
            [encryption] => ssl
        )

    [messageConfig] => Array
        (
            [charset] => UTF-8
            [from] => Array
                (
                    [[email protected]] => 徐善通的博客
                )

        )

)
**/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值