Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

$_GET['action']="xxx"

6 réponses
Avatar
Mihamina (R12y) Rakotomandimby
Bonjour,

Pour des raisons de compatibilité de mon code et de celui de mon collègue,
on a besoin de faire un $_GET['action']="xxx".

Est-ce une mauvaise pratique?

6 réponses

Avatar
Antoine ROUCHET
"Mihamina (R12y) Rakotomandimby" wrote in
message news:
Bonjour,

Pour des raisons de compatibilité de mon code et de celui de mon collègue,
on a besoin de faire un $_GET['action']="xxx".

Est-ce une mauvaise pratique?


Bonsoir,

Si ça n'est que le contenu du champ "action" de la requête GET sera perdu ça
n'a rien de problématique. Mais bon un tel besoin n'est pas signe d'un code
très optimal, si je peux me permettre :-)

Antoine.

Avatar
Francois Girault
Bonjour,


Bonsoir

Pour des raisons de compatibilité de mon code et de celui de mon collègue,
on a besoin de faire un $_GET['action']="xxx".

Est-ce une mauvaise pratique?


De mon point de vue, je dirais que ce n'est pas une bonne pratique, pour
ces 2 raisons :

1) Ce qui est dans $_GET vient de la requête. S'il faut "écrire" dedans,
remanier l'uri, autant confier le boulot à mod_rewrite.

2) $_GET étant une variable globale, la modifier pourrait entrainer des
effets de bords dans des composants qui l'utilisent avec confiance (ou
pas). Cela dépend si vous maitrisez l'ensemble du code de l'application
et de ses dépendances (sortez le grep ;) ).

Mais si ça vous évite X mois de ré-écriture du code ... ;)

--
FG

Avatar
Olivier Miakinen
Le 20/06/2007 23:23, Francois Girault répondait à Mihamina R12y :

Pour des raisons de compatibilité de mon code et de celui de mon collègue,
on a besoin de faire un $_GET['action']="xxx".

Est-ce une mauvaise pratique?



Même si ce n'est pas la meilleure pratique du point de vue de la
lisibilité, je dirais « pourquoi pas ». Déjà, il n'y a pas de raison
que ça ne fonctionne pas. Malgré tout, je te conseillerais de :
1) modifier $_REQUEST en même temps que $_GET, des fois que tu changes
l'endroit où c'est utilisé en oubliant que le $_GET était positionné
artificiellement ;
2) mettre un gros commentaire explicatif, à la fois à l'endroit où tu le
positionnes et à l'endroit où tu l'utilises.

De mon point de vue, je dirais que ce n'est pas une bonne pratique, pour
ces 2 raisons :

[...]

2) $_GET étant une variable globale, la modifier pourrait entrainer des
effets de bords dans des composants qui l'utilisent avec confiance (ou
pas).


Ça, ça me semble une mauvaise raison pour ne pas le faire. Aucun
composant ne devrait utiliser $_GET « avec confiance ». Mais il est
très possible que j'aie mal compris ta remarque auquel cas je te
prie par avance de m'excuser.


Avatar
Thierry B.
--{ Francois Girault a plopé ceci: }--

Mais si ça vous évite X mois de ré-écriture du code ... ;)

Tout ça sent le vécu... Téléportation :)


--
- Le monde appartient à ceux dont les ouvriers se lèvent tôt. (Coluche)

Avatar
Francois Girault
Le 20/06/2007 23:23, Francois Girault répondait à Mihamina R12y :
2) $_GET étant une variable globale, la modifier pourrait entrainer des
effets de bords dans des composants qui l'utilisent avec confiance (ou
pas).


Ça, ça me semble une mauvaise raison pour ne pas le faire. Aucun
composant ne devrait utiliser $_GET « avec confiance ». Mais il est
très possible que j'aie mal compris ta remarque auquel cas je te
prie par avance de m'excuser.


euh vous avez surtout oublié la phrase qui suivait : "Cela dépend si
vous maitrisez l'ensemble du code de l'application et de ses dépendances".

Je voulais dire : attention si dans les dépendances se trouve un truc
mal fichu, que ça tombe en marche au premier abord, qu'on a pas audité
le code en question ...

Les globales en écriture, c'est mal (c) et à grande échelle les accès en
écriture à de telles variables requièrent une encapsulation.

Mon point de vue est strictement personnel, très dépendant de mon
expérience sur des progiciels de bonne envergure, pas la peine de
s'excuser :)

--
FG


Avatar
Olivier Miakinen

2) $_GET étant une variable globale, la modifier pourrait entrainer des
effets de bords dans des composants qui l'utilisent avec confiance (ou
pas).


Ça, ça me semble une mauvaise raison pour ne pas le faire. Aucun
composant ne devrait utiliser $_GET « avec confiance ». Mais il est
très possible que j'aie mal compris ta remarque auquel cas je te
prie par avance de m'excuser.


euh vous avez surtout oublié la phrase qui suivait : "Cela dépend si
vous maitrisez l'ensemble du code de l'application et de ses dépendances".


Ah oui, et surtout je suis passé à côté du fait que le point important
était « variable globale » plutôt que « données issues du formulaire ».

Les globales en écriture, c'est mal (c) et à grande échelle les accès en
écriture à de telles variables requièrent une encapsulation.


Ça y est, maintenant j'ai compris. Merci. ;-)