2009-07-16 7 views
3

Je me suis retrouvé à déplacer un ancien site web écrit en php4 sur le nouveau serveur de mon entreprise qui ne supporte que php5. En php4, les objets ont été copiés par valeur, mais en php5 c'est par référence. Malheureusement pour moi, la personne qui a écrit ce site à l'origine fabriquait des objets des autres à gauche et à droite, et maintenant cela cause toutes sortes de problèmes. Y at-il un paramètre ou quelque chose que je peux changer pour faire de la copie php5 en valeur? Sinon, je peux:Y at-il un paramètre PHP5 pour le faire copier des objets par valeur?

A) commencer writting constructeurs de copie pour chaque objet B) ne rechercher et remplacer sur tous les "obj1 = obj2" et faire "obj1 = clone obj2" C) faire autre chose?

Merci!

Répondre

2

L'option B est votre meilleur pari. PHP5 remanié la gestion des objets de manière significative, donc si vous avez du code qui repose spécifiquement sur des objets clonés via l'affectation PHP4, alors malheureusement la mise à niveau du code vers le PHP5 method of cloning est le meilleur moyen d'y aller à mon avis.

0

Je pense que la réponse devrait être (B).

Je ne suis pas sûr qu'il soit possible de créer des constructeurs de copie qui exécutent un clone en PHP (et je n'ai pas de machine à vérifier), mais je serais intéressé si vous le pouvez.

Questions connexes