Comment utiliser Propel 1.3
=================

*by Carl Vondrick*
*Translated by Nicolas Garnault*

Il est maintenant facile, avec symfony 1.1, d'utiliser [Propel 1.3](
http://propel.phpdb.org/trac/wiki/Users/Documentation/1.3) pour votre
projet, et de tirer partie des nombreuses améliorations concernant la
vitesse, les ensembles imbriqués (nested set), pooling d'instances d'objets
(object instance pooling) entre autres. Le plus important est le fait que
Propel 1.3 utilise maintenant PDO à la place de Creole comme couche
d'abstraction avec la base de données, délivrant ainsi une amélioration
significative des performances.

Installer Propel 1.3 prend seulement quelques minutes, tout ce que vous avez
à faire est installer un plugin et modifier deux fichiers de configuration.
Nous allons vous expliquer comment procéder.

  * Installation du plugin Propel 1.3 se trouvant dans le dépôt symfony :

        $ cd /path/to/project/root/
        $ svn co
http://svn.symfony-project.com/plugins/sfPropelPlugin/branches/1.3/plugins/sfPropelPlugin

  * Propel 1.3 utilise un nouveau format de connexion, vous devez donc
mettre à jour le fichier `databases.yml`. Modifiez le fichier
`config/databases.yml` de le faire correspondre au modèle suivant :

        [yml]
        dev:
          propel:
            param:
              classname: DebugPDO

        all:
          propel:
            class: sfPropelDatabase
            param:
              dsn: mysql:dbname=mydb;host=localhost
              username: username
              password: password
              encoding: utf8
              persistent: true
              pooling: false
              classname: PropelPDO

    Pour mettre à jour votre DSN, veuillez vous reporter au [manuel PDO](
http://us.php.net/manual/en/pdo.drivers.php).
    To upgrade your DSN, see the [PDO manual](
http://fr.php.net/manual/fr/pdo.drivers.php).

  * Vous devez mettre à jour `propel.ini` de la même manière. Recherchez les
3 lignes au début de `config/propel.ini` et supprimez-les :

        [ini]
        propel.database            = mysql
        propel.database.createUrl  = mysql://[EMAIL PROTECTED]/
        propel.database.url        = mysql://[EMAIL PROTECTED]/myproject

    À leur place, insérez les lignes suivantes :

        [ini]
        propel.database            = mysql
        propel.database.driver     = mysql
        propel.database.createUrl  = mysql://localhost/
        propel.database.url        = mysql:dbname=mydb;host=localhost
        propel.database.user       = username
        propel.database.password   = password
        propel.database.encoding   = utf8

    Assurez-vous que `propel.databse.url` corresponde au DSN de l'étape 2.

  * Effacez le cache interne de symfony :

        $ symfony cache:clear

  * Propel 1.3 utilise un modèle objet optimisé, nous devons donc
reconstruire le modèle :

        $ symfony propel:build-model

S'il s'agit d'un nouveau projet, félicitations, vous venez de mettre en
place Propel 1.3 ! La syntaxe de `schema.yml` est exactement la même que
celle utilisée avec Propel 1.2. La nouvelle API n'est pas complètement
différente, en fait, pour la plus grande part, c'est exactement la même.

Si vous mettez à jour un projet, un peu de travail vous attend peut-être
encore, mais la plus grande partie de votre projet devrait fonctionner sans
problème. Si vous utilisez des transactions ou bien Creole de manière
directe, vous allez devoir mettre à jour vers PDO les parties de code
concernées manuellement. Le projet Propel met à disposition un [guide de
mise à jour](
http://propel.phpdb.org/trac/wiki/Users/Documentation/1.3/Upgrading) très
utile, qui vous accompagnera lors de la phase de mise à jour. Même s'il
s'agit d'un nouveau projet, vous devriez trouver ce dernier d'une grande
aide afin de vous tenir informé de toutes les nouvelles fonctionnalités.

symfony 1.1 possède un coeur modulaire, il ne peut donc pas être rendu plus
simple la possibilité d'utiliser n'importe quel ORM de votre choix. Si
Propel ne vous convient pas, vous pouvez essayer [sfDoctrinePlugin](
http://trac.symfony-project.com/wiki/sfDoctrinePlugin), une alternative à
Propel, offrant les mêmes performances que Propel 1.3. Grâce à symfony 1.1,
les développeurs peuvent apprécier l'utilisation de Propel 1.3 pour ses
performances accrues, ou bien celle de Propel 1.2 s'ils préfèrent
privilégier d'une stabilité à toute épreuve.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to