7
votes

PHP: $ _GET et $ _Post dans les fonctions?

Je suis graphégassé par le code, où les valeurs de get, telles que £ _ get ['nom d'utilisateur'] , ne sont pas incluses comme paramètres aux fonctions.

Quand avez-vous besoin d'inclure POST et d'obtenir des méthodes comme paramètres aux fonctions?


1 commentaires

Quelle est votre vraie question? La seule phrase (bien que défectueuse) avec une marque d'interrogation à la fin n'a aucun sens. $ _BET et $ _Post sont globaux, ils peuvent être utilisés n'importe où. Est-ce une bonne pratique de codage, peut-être, peut-être pas.


3 Réponses :


28
votes

Quand avez-vous besoin d'inclure la poste et obtenir des méthodes comme paramètres à Fonctions?

Je dirais "jamais": $ _ get et _ POST est ce qu'on appelle Superglobals : ils existe dans l'ensemble du script; Ce qui signifie qu'ils existent dans des fonctions / méthodes intérieures.

surtout, vous n'avez pas besoin de vous le global mot-clé pour ceux-ci.



Néanmoins, s'appuyer sur ceux de vos fonctions / méthodes est une mauvaise pratique: vos fonctions / méthodes ne doivent généralement pas dépendre de quoi que ce soit de ne pas être passé comme paramètre.

Ce que je veux dire, c'est; Considérez ces deux fonctions: xxx

et xxx

OK, avec le premier, avec le premier, vous n'avez pas à passer Deux paramètres ... Mais cette fonction ne sera pas indépendante et ne fonctionnera dans aucune situation dans laquelle vous devriez vérifier un couple de connexion / mot de passe qui ne provient pas de $ € obtenir .

avec la deuxième fonction, l'appelant est responsable de la transmission des bons paramètres; Ce qui signifie qu'ils peuvent viennent d'où que vous souhaitiez: la fonction sera toujours en mesure de faire son travail.


0 commentaires

1
votes

$ _ obtenir et $ _post sont des variables globales. Ils ont des valeurs, pas des méthodes.

Ce sont leurs valeurs que vous souhaitez envoyer à des fonctions et les classes / fonctions devraient généralement être ignorées de quoi que ce soit en dehors d'eux, comme l'apparition des données. Beaucoup utilisent le raccourci d'utilisation des variables globales dans les fonctions et limitant ainsi la convivialité de leurs fonctions.


1 commentaires

Pour être juste, il peut renvoyer les http méthodes Obtenez et Post (Bien que la question soit confuse).



0
votes

Vous n'avez pas besoin de les envoyer en tant que paramètres de fonction qu'aucune variables globales (accessible partout dans le code).

Mais c'est toujours une bonne pratique de filtrer et de les valider avant de les utiliser dans votre code.


0 commentaires