yiiapi/docs/guide/fr/database.dao.txt
(开头部分) 11KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
Data Access Objects (DAO)
=========================
Data Access Objects (DAO) permet l'accès aux données stockées dans divers SGBD
au travers d'une API générique. Ainsi, le SGBD sous jacent peut être changé sans
avoir à modifier le code utilisant DAO pour accéder aux données.
Yii DAO est basé sur les [PHP Data Objects
(PDO)](http://php.net/manual/en/book.pdo.php), une extension fournissant
un accès unifié aux données de multiples SGBD, tels que MySQL, PostgreSQL.
C'est pour cela que l'utilisation de Yii DAO requiert la présence de l'extension
PDO et du pilote PDO spécifique pour le SGBD utilisé (par exemple `PDO_MYSQL`).
Yii DAO est constitué des quatres classes suivantes:
- [CDbConnection]: représente une connexion à une base.
- [CDbCommand]: représente une requête SQL.
- [CDbDataReader]: représente un flux de données résultant d'une requête.
- [CDbTransaction]: représente une transaction.
L'utilisation de Yii DAO dans différents cas de figure va maintenant être présenté.
Etablir une connexion à une base
---------------------------------
Pour établir une connexion à une base, il est nécessaire de créer une instance de [CDbConnection]
et de l'activer. Pour cela un DSN (Data Source Name) contenant les informations
de connexion devra être spécifié. Un nom d'utilisateur et un mot de passe, optionnels,
peuvent aussi être renseignés ici. Une exception sera levée si une erreur se produit durant
la connexion (par exemple en cas de mauvais DSN ou un utilisateur/mot de passe invalide).
~~~
[php]
$connection=new CDbConnection($dsn,$username,$password);
// établit une connexion. try...catch pour récupérer les éventuelles exceptions
$connection->active=true;
......
$connection->active=false; // fermeture de la connexion
~~~
Le format du DSN varie selon le pilote PDO choisi. De manière générale, un DSN
est constitué du nom du pilote PDO, suivi d'un point virgule, suivi d'une chaîne
de caractères dont la syntaxe dépend du pilote. Voir la [documentation
PDO](http://www.php.net/manual/en/pdo.construct.php) pour plus d'information.
Ci-dessous une liste avec les formats couramment utilisés:
- SQLite: `sqlite:/path/to/dbfile`
- MySQL: `mysql:host=localhost;dbname=testdb`
- PostgreSQL: `pgsql:host=localhost;port=5432;dbname=testdb`
- SQL Server: `mssql:host=localhost;dbname=testdb`
- Oracle: `oci:dbname=//localhost:1521/testdb`
Comme [CDbConnection] hérite de [CApplicationComponent], il est aussi possible
de l'utiliser comme un [application
component](/doc/guide/basics.application#application-component). Pour cela, il
faut configurer l'application component `db` (ou un autre nom) dans l'[application
configuration](/doc/guide/basics.application#application-configuration) selon le modèle
suivant:
后面还有 199 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
