PHP: $ _GET und $ _POST in Funktionen?

7

Ich bin verblüfft von dem Code, wo die GET-Werte, wie $_GET['username'] , nicht als Parameter für Funktionen enthalten sind.

Wann müssen Sie POST- und GET-Methoden als Parameter für Funktionen verwenden?

    
hhh 30.08.2009, 19:20
quelle

3 Antworten

24
  

Wann müssen Sie POST einbeziehen?   und GET-Methoden als Parameter zu   Funktionen?

Ich würde sagen "nie": $_GET und $_POST sind sogenannte superglobals : Sie existieren in der ganzen Schrift; was bedeutet, dass sie innerhalb von Funktionen / Methoden existieren.

Insbesondere brauchen Sie nicht die global Schlüsselwort für diese.


Dennoch ist es eine schlechte Übung, sich auf diejenigen in Ihren Funktionen / Methoden zu verlassen: Ihre Funktionen / Methoden sollten im Allgemeinen nicht von etwas abhängen, das nicht als Parameter übergeben wurde.

Was ich meine ist; Betrachte diese zwei Funktionen:

%Vor%

und

%Vor%

OK, mit dem ersten müssen Sie nicht zwei Parameter übergeben ... Aber diese Funktion wird nicht unabhängig sein und wird in keiner Situation funktionieren, in der Sie ein paar Login / Passwort überprüfen müssten kommt nicht von $_GET .

Mit der zweiten Funktion ist der Aufrufer dafür verantwortlich, die richtigen Parameter zu übergeben; was bedeutet, dass sie von wo auch immer Sie wollen kommen: die Funktion wird immer in der Lage sein, es zu tun.

    
Pascal MARTIN 30.08.2009, 19:23
quelle
1

$ _ GET und $ _POST sind globale Variablen. Sie haben Werte, keine Methoden. Es sind ihre Werte, die Sie an Funktionen senden möchten, und Klassen / Funktionen sollten im Allgemeinen nichts außer ihnen wissen, wie woher die Daten stammen. Viele verwenden die Abkürzung der Verwendung der globalen Variablen in Funktionen und damit die Verwendbarkeit ihrer Funktionen einschränken.

    
OIS 30.08.2009 19:24
quelle
0

Sie müssen sie nicht als Funktionsparameter senden, da es sich um globale Variablen handelt (auf die überall im Code zugegriffen werden kann).

Aber es ist immer eine gute Übung, sie zu filtern und zu validieren, bevor Sie sie in Ihrem Code verwenden.

    
rogeriopvl 30.08.2009 19:27
quelle

Tags und Links