类别:YII / 日期:2020-01-01 / 浏览:173 / 评论:0
Yii运用PDO(PHP Date Object)衔接林林总总的数据库,因而,险些一切主流的数据库,Yii都能够 很好地供应支撑。这也是一个成熟框架所应具有的普遍适用性。
在对数据库举行任何操纵之前,都必须先与数据库服务器竖立衔接。在Yii运用中,有一个特地的中心 组件(component)用于处置惩罚数据库衔接,我们很轻易能够在配置文件中找到他:
'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2advanced', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ], // ... ...],// ... ...
Yii用 yii\db\Connection 来示意数据库衔接。这个Connection完成了 关于PDO的一个简朴封装,并掩盖了种种数据库的区分,完成了一个一致的开发接口。
如许,使得你在 编程过程当中,能够疏忽绝大多数的数据库兼容问题,能够越发专注于功用开发。比方,你不必再忧郁在 MySQL下不能运用Money范例的字段等等。
在 yii\db\Connection 中,有一个 $schemaMap 数组,用于竖立PDO数据库驱动与细致的 schema 类间的映照关联:
public $schemaMap = [ 'pgsql' => 'yii\db\pgsql\Schema', // PostgreSQL 'mysqli' => 'yii\db\mysql\Schema', // MySQL 'mysql' => 'yii\db\mysql\Schema', // MySQL 'sqlite' => 'yii\db\sqlite\Schema', // sqlite 3 'sqlite2' => 'yii\db\sqlite\Schema', // sqlite 2 'sqlsrv' => 'yii\db\mssql\Schema', // newer MSSQL driver on MS Windows hosts 'oci' => 'yii\db\oci\Schema', // Oracle driver 'mssql' => 'yii\db\mssql\Schema', // older MSSQL driver on MS Windows hosts 'dblib' => 'yii\db\mssql\Schema', // dblib drivers on GNU/Linux (and maybe other OSes) hosts 'cubrid' => 'yii\db\cubrid\Schema', // CUBRID];
我们能够以为Yii默许情况下支撑上述数组中的10种DBMS(6个Schema),这在绝大多数情况下, 是完整充足的。万一你运用了超越这一局限的DBMS,在确保兼容的情况下,你能够本身写一个Schema, 使Yii能够支撑该DBMS。
引荐进修:yii框架
以上就是yii怎样衔接数据库的细致内容,更多请关注ki4网别的相干文章!