$variable[col1] fonctionne avec PHP5.2 mais pas en 5.3

$variable[col1] fonctionne avec PHP5.2 mais pas en 5.3 - PHP - Programmation

Marsh Posté le 29-04-2014 à 14:10:36    

Bonjour,
 
Je suis en train de reprendre le code d'une application qui doit passer sur un nouveau serveur avec PHP 5.3 Actuellement la version est 5.2
 
Dans le code il y a des variables " $variable[col1] " au lieu de " $variable['col1'] ". Le soucis c'est que ca me génère un grand nombre d'erreurs et du coup l'application de fonctionne plus.
 
Je suis donc dans l'obligation de modifier le code de l'appli mais je me demandais s'il n'y avait pas un autre moyen pour que  " $variable[col1] " soit pris en compte par php 5.3
 
Vous auriez une idée ?
 
Merci

Reply

Marsh Posté le 29-04-2014 à 14:10:36   

Reply

Marsh Posté le 29-04-2014 à 14:16:13    

Déclarer une constante "col1" qui contient la chaîne "col1" ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-04-2014 à 14:44:22    

Merci pour ta réponse. Ca pourrait en effet fonctionner, le soucis c'est que j'ai énormément de variables un peu partout dans le code. Je ne peux pas déclarer de constante à chaque fois.
Je pensais à une config du php.ini ou quelque chose dans le genre.
 
Sinon je ferais les corrections dans le code, mais vu le nombre de page et de variables, je risque d'y passer un moment.

Reply

Marsh Posté le 29-04-2014 à 15:45:29    

Avec notepad++, je pense que via un find/replace et une regexp bien construite, tu devrais arriver à remplacer un truc du genre $var[col] en $var['col'] sur l'ensemble de tes fichiers ;)
 
Edit : http://www.regexr.com/   -> un site bien pratique pour tester ses regexp sur un texte et voir graphiquement ce qui est capturé...


Message édité par rufo le 29-04-2014 à 15:46:44

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-04-2014 à 15:49:53    

Oui j'ai déjà remplacer pas mal de choses comme ça par contre dans certains cas ca pose un problème car il y a des requêtes et le fait de rajouter des ' pose un problème.
 
En fait y'a pas de solution miracle, il faut que je modifie le code.
 
Merci pour ton aide en tout cas

Reply

Marsh Posté le 29-04-2014 à 15:53:49    

C'est pour ça que je parlais de regexp bien construite. Je me doute que dans certains cas, ça sera pas simple de faire une regexp qui gère tous les cas à la con :D Après, s'ils sont peu nombreux, c'est pas forcément gênant de les traiter à la main...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-04-2014 à 15:59:22    

Franchement merci Rufo, je vais suivre ton conseil, je viens de m'apercevoir d'ailleurs que bluefish permet de faire du find/replace dans un lot de fichier.  
Je vais me faire un petit backup et je teste ça et je corrigerai au cas par cas les requêtes SQL.
 
Y'a plus qu'à bosser sur l'expression régulière qui va me faire ça ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed