Subversion-Projekte lars-tiefland.prado

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<com:TContent ID="Main">
2
 
3
<h1>Connexion à la base</h1>
4
 
5
 
6
<p>
7
Pour pouvoir utiliser la base de données que nous venons de créer, nous devons tout d'abord établir une connexion.
8
</p>
9
 
10
<p>
11
Nous allons utiliser <a href="http://www.pradosoft.com/demos/quickstart/?page=Database.DAO">Data Access Objects (DAO)</a> pour établir une couche d'abstraction. Si dans le futur nous décidions d'utiliser un autre SGBD (ie: PostgreSQl, Oracle, ...), il nous suffirait de modifier la chaine de connexion (DSN) et nous pourrions conserver notre code PHP intact.
12
</p>
13
 
14
<com:NoteBox>
15
Pour utiliser DAO, nous devons installer et activer la librairie <a href="http://www.php.net/manual/en/ref.pdo.php">PHP PDO extension</a> <i>ainsi que</i> un driver PDO d'accès aux données (dans notre cas, c'est le driver PDO SQLite). Ceci peut être fait facilement sous Windows en incluant dans le fichier <tt>php.ini</tt> les lignes suivantes:
16
<com:TTextHighlighter CssClass="source">
17
extension=php_pdo.dll
18
extension=php_pdo_sqlite.dll
19
</com:TTextHighlighter>
20
</com:NoteBox>
21
 
22
<p>
23
Pour une meilleure abstraction de notre base de données, nous utilisons aussi la fonctionnalité <a href="http://www.pradosoft.com/demos/quickstart/?page=Database.ActiveRecord">Active Record</a> (AR). Chaque enregistrement est ainsi représenté par un objet qui a la possibilité d'exécuter des requêtes, de mettre à jour les données, de les supprimer et ceci sans écrire la moindre commande SQL.
24
</p>
25
 
26
<p>
27
Nous modifions notre fichier de configuration de l'application <tt>protected/application.xml</tt> en insérant les lignes suivantes, qui indiquent à <tt>Active Record</tt> comment se connecter à notre base de données.
28
</p>
29
 
30
<com:TTextHighlighter CssClass="source" Language="xml">
31
<modules>
32
  <module id="db" class="System.Data.TDataSourceConfig">
33
    <database ConnectionString="sqlite:protected/data/blog.db" />
34
  </module>
35
  <module class="System.Data.ActiveRecord.TActiveRecordConfig" ConnectionID="db" />
36
</modules>
37
</com:TTextHighlighter>
38
 
39
<p>
40
Dans la configuration précédente, nous avons ajouté deux <a href="http://www.pradosoft.com/demos/quickstart/?page=Fundamentals.Modules">modules</a> à notre application. Le module <tt>TDataSourceConfig</tt> est configuré avec la chaine de connexion <tt>sqlite:protected/data/blog.db</tt> qui pointe vers notre base de données. Cette connexion est utilisée par le module <tt>TActiveRecordConfig</tt> qui est requis pour l'utilisation d'Active Record.
41
</p>
42
 
43
<com:InfoBox>
44
Il est tout à fait possible de définir plusieurs connexion de base de données dans notre fichier de configuration. Pour plus de détails, veuillez vous référer à la <a href="http://www.pradosoft.com/demos/quickstart/?page=Database.ActiveRecord">documentation Active Record</a>. Il est, de même possible, d'établir une connexion à une base de données en utilisant du code PHP au travers du composant <a href="http://www.pradosoft.com/demos/quickstart/?page=Database.DAO">TDbConnection</a>.
45
</com:InfoBox>
46
 
47
</com:TContent>