站长资讯网
最全最丰富的资讯网站

yii如何连接数据库

yii如何连接数据库

Yii使用PDO(PHP Date Object)连接各种各样的数据库,因此,几乎所有主流的数据库,Yii都可以 很好地提供支持。这也是一个成熟框架所应具有的广泛适用性。

在对数据库进行任何操作之前,都必须先与数据库服务器建立连接。在Yii应用中,有一个专门的核心 组件(component)用于处理数据库连接,我们很容易可以在配置文件中找到他:

'components' => [     'db' => [         'class' => 'yiidbConnection',         'dsn' => 'mysql:host=localhost;dbname=yii2advanced',         'username' => 'root',         'password' => '',         'charset' => 'utf8',     ],     // ... ...],// ... ...

Yii用 yiidbConnection 来表示数据库连接。这个Connection实现了 对于PDO的一个简单封装,并掩盖了各种数据库的区别,实现了一个统一的开发接口。

这样,使得你在 编程过程中,可以忽略绝大多数的数据库兼容问题,可以更加专注于功能开发。比如,你不用再担心在 MySQL下不能使用Money类型的字段等等。

在 yiidbConnection 中,有一个 $schemaMap 数组,用于建立PDO数据库驱动与具体的 schema 类间的映射关系:

public $schemaMap = [     'pgsql' => 'yiidbpgsqlSchema', // PostgreSQL     'mysqli' => 'yiidbmysqlSchema', // MySQL     'mysql' => 'yiidbmysqlSchema', // MySQL     'sqlite' => 'yiidbsqliteSchema', // sqlite 3     'sqlite2' => 'yiidbsqliteSchema', // sqlite 2     'sqlsrv' => 'yiidbmssqlSchema', // newer MSSQL driver on MS Windows hosts     'oci' => 'yiidbociSchema', // Oracle driver     'mssql' => 'yiidbmssqlSchema', // older MSSQL driver on MS Windows hosts     'dblib' => 'yiidbmssqlSchema', // dblib drivers on GNU/Linux (and maybe other OSes) hosts     'cubrid' => 'yiidbcubridSchema', // CUBRID];

我们可以认为Yii默认情况下支持上述数组中的10种DBMS(6个Schema),这在绝大多数情况下, 是完全足够的。万一你使用了超出这一范围的DBMS,在确保兼容的情况下,你可以自己写一个Schema, 使Yii可以支持该DBMS。

推荐学习:yii框架

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号