Migration d’un projet Symfony 1.0 vers 1.2
- categories
- Uncategorized
- published
- reading time
- 2 minutes
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.