您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關yii連接數據庫的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
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連接數據庫的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。