Yii utilise PDO (PHP Date Object) pour se connecter à une variété de bases de données. Par conséquent, Yii peut fournir un bon support pour presque toutes les bases de données traditionnelles. C’est également la large applicabilité que devrait avoir un cadre mature.
Avant d'effectuer toute opération sur la base de données, une connexion doit être établie avec le serveur de base de données. Dans l'application Yii, il existe un composant principal dédié à la gestion des connexions à la base de données. Nous pouvons facilement le trouver dans le fichier de configuration :
'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2advanced', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ], // ... ...],// ... ...
Yii utilise yiidbConnection pour représenter les connexions à la base de données. Cette connexion implémente une simple encapsulation de PDO, masque les différences entre les différentes bases de données et implémente une interface de développement unifiée.
De cette façon, vous pouvez ignorer la plupart des problèmes de compatibilité des bases de données pendant le processus de programmation et vous concentrer davantage sur le développement fonctionnel. Par exemple, vous n'avez plus à vous soucier de ne pas pouvoir utiliser les champs de type Money sous MySQL, etc.
Dans yiidbConnection, il existe un tableau $schemaMap, qui est utilisé pour établir la relation de mappage entre le pilote de base de données PDO et la classe de schéma spécifique :
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];
Nous pouvons penser que Yii prend en charge ce qui précède tableau par défaut 10 types de SGBD (6 schémas), ce qui est tout à fait suffisant dans la plupart des cas. Si vous utilisez un SGBD au-delà de cette plage, vous pouvez écrire vous-même un schéma afin que Yii puisse prendre en charge le SGBD tout en garantissant la compatibilité.
Apprentissage recommandé :framework yii
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!