Yii2高级模版的配置文件

Yii2实践教程 2019年2月25日 4.89K
配置文件可以说是一个项目最基础的部分,我们所用到的数据库配置,redis配置,都会全部放到一个配置文件中方便我们管理,Yii2中的配置的设置可以说更丰富,下面是高级模版 /common/config/main-local.php文件的代码,这个就是咱们的配置文件。
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=feifeixueyuan',
'username' => 'root',
'password' => 'wwsdfsdsd',
'charset' => 'utf8',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => true,
],
],
];
我们先看一下如何连接数据库,Yii帮我们建立了一个在PHP的PDO之上的数据访问层(DAO),DAO为不同的数据库提供了统一的API接口,比如ActiveRecord就是数据库与模型model的交互,QueryBuilder用于创建动态的查询语句。
在mysql中,我们想访问数据库,我们需要创建一个yii\db\Connection 实例来与之建立连接。
$db = new yii\db\Connection([ 
   'dsn' => 'mysql:host=localhost;dbname=example', 
   'username' => 'root', 
   'password' => '', 
   'charset' => 'utf8', ]);
由于数据库需要在多个地方使用,这样会很不方便,一个常用的做法是将配置放在应用组件中
return [ 
   'components' => [ 
      'db' => [ 
         'class' => 'yii\db\Connection',
         'dsn' => 'mysql:host=localhost; dbname=example', 
         'username' => 'root', 
         'password' => '', 
          'charset' => 'utf8',
         ], 
        ], 
      ];
之后通过Yii::$app->db就可以访问数据库了,看到这在回过头来看看一开始的配置文件代码是不是就很明白啦。我们若是要发邮件就会用到Mailer类,我们只需要在配置应用(components)中定义相应的类和一些常用的配置就很容易使用啦。

主从配置

我们在components应用的db中加入下面的设置即可使我们的数据库配置变为主从配置。
'slaveConfig' => [ //从库的通用配置
'username' => '',
'password' => '',
'attributes' => [
PDO::ATTR_TIMEOUT => 10, //超时时间
],
],

//从库的配置列表
'slaves' => [
['dsn' => 'dns for slave server 1'],
['dsn' => 'dns for slave server 2'],
]
当我们通过调用 yii\db\Command::execute() 来执行的语句都被视为写操作,通过调用 yii\db\Command 中任一 “query” 方法来执行的语句都被视为读操作,还可以通过Yii::$app->db->slave来获取当前有效的从库。
未经允许不得转载:飞飞学院 » Yii2高级模版的配置文件

文章评论

您需要之后才可以评论
17点赞 0评论 收藏 QQ分享 微博分享