Yii は PDO (PHP Date Object) を使用してさまざまなデータベースに接続するため、ほとんどすべての主流データベースに適切なサポートを提供できます。これは、成熟したフレームワークが持つべき幅広い適用性でもあります。
データベースで操作を実行する前に、データベース サーバーとの接続を確立する必要があります。 Yii アプリケーションには、データベース接続を処理するための専用のコアコンポーネントがあり、設定ファイルで簡単に見つけることができます:
'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2advanced', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ], // ... ...],// ... ...
Yii は yii\db\Connection を使用してデータベース接続を表します。この接続は、PDO の単純なカプセル化を実装し、さまざまなデータベース間の違いをマスクし、統合された開発インターフェイスを実装します。
これにより、プログラミング プロセス中にデータベースの互換性の問題のほとんどを無視して、機能開発に重点を置くことができます。たとえば、MySQL などで Money 型フィールドが使用できないことを心配する必要はなくなります。
yii\db\Connection には、PDO データベース ドライバーと特定のスキーマ クラス間のマッピング関係を確立するために使用される $schemaMap 配列があります。
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 スキーマ) をサポートしますが、ほとんどの場合、これで十分です。この範囲を超えて DBMS を使用する場合は、Yii が互換性を確保しながら DBMS をサポートできるように、スキーマを自分で記述することができます。
推奨学習:yii フレームワーク
以上がyii でデータベースに接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。