Migration d’un projet Symfony 1.0 vers 1.2

Malgré l’évident désintérêt d’un non-geek face à un titre aussi passionnant, je tiens à laisser une trace autre que celle de mon expérience de cette transition difficile que j’ai dû réaliser.

Bien sûr chaque expérience est à prendre au cas par cas et toute expérience est la bienvenue pour compléter ce tutorial, car je ne peux pas inventé des bugs auxquels je n’ai pas été confronté.

Alors tout d’abord il y a bien sûr une différence fondamental d’organisation au niveau de la racine du projet avec l’ajout dans /config du fichier ProjectConfiguration.class.php…
Aussi je conseille de repartir d’un projet symfony 1.2 vide et de copier les librairies importantes (de la couche objet et des validateurs) ainsi que les dossiers des modules à leur place.

Ensuite plusieurs bugs peuvent apparaître lors du basculement, il faut donc s’assurer le plusieurs choses :

  • le mode compatibilité compat_10 de symfony 1.2 doit être activé
  • il faut revérifier les signatures de toutes les méthodes qui ont été surchargé dans la couche objet, car elles ont changés, par exemple:
    //symfony 1.0
    public function delete( $con = null ) { };
    //symfony 1.2
    public function delete(PropelPDO $con = null ){}
  • et reprendre les gestions d’erreurs car de nombreuses méthodes sont devenue deprecated :
  • les notifications avec flash sont aussi à reprendre :
  • //symfony 1.0
    $this->setFlash('notice', 'Your modifications have been saved');
    //symfony 1.2
    $this->getUser()->setFlash('notice', 'Your modifications have been saved');
  • et les plugins (point sur lequel je ne vais pas beaucoup m’attarder) doivent être étudier selon leur compatibilité avant. Par exemple le nouveau plugin integré de base Protoculous contient de base les librairies javascript Prototype et script.a.culo.us

Cette ensemble de vérification n’est pas exhaustif mais permet de bien prendre en compte certaines des préocupations que l’on doit avoir à l’esprit lors de tels basculements.

N’hésitez pas si vous avez d’autres retours d’expérience à commenter, le blog est fait pour ça.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :