Quelles sont les bonnes étapes à suivre pour une migration en douceur de PHP4 vers PHP5. Quels sont les types de code susceptibles de casser?Migration de PHP4 vers PHP5
Répondre
J'ai aussi travaillé une fois sur une application qui utilisait beaucoup le support XML de PHP4, et qui aurait nécessité un peu de travail pour passer à PHP5.
L'un des autres changements importants que je regardais à ce moment était le changement de la gestion par défaut des paramètres de fonction. En PHP4 si je me souviens bien, ils ont été copiés à moins que vous ne spécifiiez le contraire, mais en PHP5 est changé en pass-by-reference par défaut. Dans un code bien écrit, cela ne fera probablement pas une grande différence pour vous, mais cela pourrait certainement causer des problèmes.
Je pense qu'une autre chose que j'ai trouvée modifiée est que les objets ne sont plus autorisés à écraser leur champ 'this'. Je dirais que c'était une très mauvaise idée pour commencer (et je pense que cela n'a peut-être pas été une fonctionnalité intentionnelle dans PHP4), mais j'ai certainement trouvé quelques parties de notre système qui comptaient dessus.
Espérons que cela aide.
Nous avions une application qui puisait largement dans les fonctions DOM XML PHP 4 et il a fallu beaucoup de réoutillage changer sur PHP 5.
Au-delà la plupart des changements ont été des améliorations à des choses comme la gestion des erreurs (pour tirer profit d'exceptions) et PHP Classes.
Le meilleur conseil que je pourrais donner toute personne qui travaille avec PHP4 est le suivant:
error_reporting(E_ALL);
Il à peu près vous dira exactement ce que vous devez faire.
Avant ou après la migration? –
La POO est l'une des plus grandes différences. Il ne cassera pas car les styles OOP PHP4 et PHP5 sont interchangeables mais je recommanderais de profiter des nouveaux styles OOP de PHP5. Ce n'est pas une énorme quantité de travail pour convertir vos classes existantes en PHP5 et cela vous donne quelques méthodes magiques supplémentaires qui peuvent aider à résoudre certains hacks existants (je me souviens d'avoir une méthode __toString équivalente presque inutile dans la plupart des classes).
- 1. Migration de php4/mysql4 vers php5/mysql5: problèmes php attendus?
- 2. DOMXML, PHP4 => PHP5
- 3. Peut-php5 coexister avec php4?
- 4. compiler les en-têtes php4 au lieu de php5
- 5. Migration de Datable vers Linq vers Sql
- 6. Migration de Drupal vers Drupal
- 7. Migration de g ++ vers gcc
- 8. Migration de Winforms vers WPF
- 9. Migration de Clearcase vers X
- 10. Migration de couchDB vers RDBMS
- 11. Comment faire php5 sur une machine exécutant php4, sans rien casser
- 12. VSS 6.0 vers TFS Migration
- 13. Migration vers des systèmes ouverts
- 14. Migration de 'Handles' de VB.NET vers C#
- 15. Problème de migration de MyFaces vers Mojarra
- 16. Stratégies de migration de TFS2005 vers Subversion
- 17. Migration de données de VSS vers SVN
- 18. Migration du prototype vers jquery
- 19. Outil de migration SQL Server vers MYSQL
- 20. Migration de SQL Server vers Oracle
- 21. Migration de contenu d'OpenWiki vers ScrewTurn Wiki
- 22. Migration de Firebird vers SQL Server
- 23. Gestion de la migration VSS vers SVN
- 24. Migration de Silverlight 2 vers 3
- 25. Migration de Velocity vers les pages JSP
- 26. Migration d'applications de Dev vers QA vers Prod
- 27. SimpleXMLElement PHP4
- 28. Choix: Migration d'ASP classique vers .NET ou migration vers une plate-forme Open Source
- 29. Migration d'ASP.NET WebForms vers ASP.NET MVC
- 30. Redirigez tout le trafic .php vers les fichiers .php5
Je viens de remarquer ce post en haut des résultats de recherche Google lorsque j'ai cherché PHP4 vs PHP5 en passant des arguments au comportement de la fonction. [le manuel de php] (http://php.net/manual/en/functions.arguments.php) indique le contraire; Le passage par valeur (pass-by-copy) est _still_ la valeur par défaut. –