限时 5折! 详情

yii2源码分析-数据访问层(DAO)的实现分析

4904 0 0

上个月被动换了份新的工作,总结一句话:工作好找,好工作不好找。面试期间也有碰到一些不错的面试题,后面有时间跟大家分享一下。

yii2源码分析系列,核心部分的讲解已经差不多了。后面,我们准备更新一些yii2与数据库的那些事。

今天我们来看一下数据访问层是怎么实现的,也就是DAO(Data Access Objects)。

之前见过一些公司,在不熟悉DAO操作的情况下,选择在yii2内直接使用PDO与数据库交互。这其实是一个不好的选择。选择框架的目的就是利用框架的便捷性,一来写PDO操作麻烦,二来如果后期有更换数据库驱动的想法,与数据库交互的语句基本就要重写了。

相对而言,DAO十分友好。比如说事务、读写分离、预处理等等,使用都非常简单。

在yii2内,DAO的封装基于db组件,下面我们配置一个mysql的db组件

'components' => [
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=your host;dbname=your dbname',
        'username' => 'your username',
        'password' => 'your password',
        'charset' => 'utf8',
    ],
],

如果想更换数据库驱动,只需要修改dsn属性即可。

db

继续阅读

还有90%的精彩内容,购买继续阅读