Yii는 PDO(PHP Date Object)를 사용하여 다양한 데이터베이스에 연결합니다. 따라서 Yii는 거의 모든 주류 데이터베이스에 대해 우수한 지원을 제공할 수 있습니다. 이는 성숙한 프레임워크가 갖춰야 할 광범위한 적용 가능성이기도 합니다.
데이터베이스에서 작업을 수행하기 전에 먼저 데이터베이스 서버와의 연결을 설정해야 합니다. Yii 애플리케이션에는 데이터베이스 연결을 처리하기 위한 전용 핵심 구성요소가 있습니다. 구성 파일에서 쉽게 찾을 수 있습니다.
'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2advanced', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ], // ... ...],// ... ...
Yii는 yiidbConnection을 사용하여 데이터베이스 연결을 나타냅니다. 이 연결은 PDO의 간단한 캡슐화를 구현하고, 다양한 데이터베이스 간의 차이점을 숨기고, 통합 개발 인터페이스를 구현합니다.
이렇게 하면 프로그래밍 과정에서 대부분의 데이터베이스 호환성 문제를 무시하고 기능 개발에 더 집중할 수 있습니다. 예를 들어, MySQL 등에서 Money 유형 필드를 사용할 수 없는 것에 대해 더 이상 걱정할 필요가 없습니다.
yiidbConnection에는 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를 지원할 수 있도록 Schema를 직접 작성해 주시면 됩니다.
추천 학습: yii 프레임워크
위 내용은 yii에서 데이터베이스에 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!