Your SlideShare is downloading. ×
0
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Migrations PHP 5 - Solutions linux 2009

508

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
508
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Programmation objet • La grande avancée de PHP 5 • Tous les ajouts sont facultatifs • Le code PHP 4 est compatible • Sauf .... le passage par copie des objets
  • 2. La différence function mod( $obj ) { $obj->test = ‘in’ ; } $obj = new StdClass() ; $obj->test = ‘out’ ; mod( $obj ) ; echo $obj->test ; // in ou out ?
  • 3. Code déjà compatible ? • Passage par référence explicite en PHP 4 • On utilise & (attention à ne pas en oublier) • Compatible PHP 5 sans modification • mais désactivation des erreurs strictes
  • 4. Code non compatible ? • zend.ze1_compatibility_mode = true • interdit d’utiliser les nouveautés PHP 5 • stabilité non garantie • Sinon : corriger votre code • long, complexe, sans garantie de résultat
  • 5. Problème • Il n’y a aucune erreur de syntaxe • Le code semble fonctionner • Parfois ça fonctionne, d’autres pas • Il faut comprendre le code pour le corriger • Demande des tests exhaustifs
  • 6. Corriger le code ? • En haut de script : ini_set(‘zend.ze1_compatibility_mode’,‘1’); • Dans chaque classe : function __clone() { ...debug_backtrace()... } • Vérification ligne à ligne des résultats • remplacer si nécessaire par “clone”
  • 7. MySQL • Officiellement remplacé par mysqli et pdo • Non compatible builtin avec MySQL > 4.1 • Chercher :“mysql_connect”
  • 8. MySQL : solution • Créer un utilisateur “spécifique PHP 4” • Utiliser l’ancien système de mot de passe • old_password() dans mysql à la création • Mixer avec pdo/mysqli ? • demande + de ressources (deux liens)
  • 9. XML • domxml et domxslt ont disparu • remplacé par dom et xsl • chercher “domxml” et “domdocument” • Script d’émulation : http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
  • 10. La Migration • Lire la documentation officielle, les livres • Préparer un jeu de test exhaustif • Choisir entre • activer le mode de compatibilité • passer réellement en php 5
  • 11. Migration : avant • Faire un code PHP 4 compatible • pear::compat, dbal, mise à jour des libs • Préparer les dev PHP 5 • garder une norme de codage PHP 4 (minuscules, extension mysql, etc.)
  • 12. Migration : pendant • Aucune solution parfaite :-( • Préparer • Faire des tests • Corriger • Faire des tests • Corriger • Faire des tests ...
  • 13. Migration : après • Régler les niveaux d’erreur (E_STRICT) • Récupérer l’ancienne configuration php.ini • Attention aux données partagées • utilisateurs mysql (old_password) • données sérialisées • bibliothèques de code

×