Zend Framework: Kann ich nur GET params bekommen?

8

In Zend Framework, die meiste Zeit, um einen Parameter zu erhalten, werde ich

verwenden %Vor%

aber wie bekomme ich nur GET-Parameter mit dem 'Zend' Weg? Oder verwende ich einfach $_GET ? Gibt es einen Unterschied zwischen

? %Vor%

vs

%Vor%     
Jiew Meng 30.09.2010, 13:17
quelle

4 Antworten

32

Verwenden Sie getQuery() :

%Vor%

Andere verfügbare Methoden umfassen

  • getParam ()
  • getQuery ()
  • getPost ()
  • getCookie ()
  • getServer ()
  • getEnv ()

getParam() prüft zuerst user params, dann $ _GET und dann $ _POST und gibt die erste gefundene Übereinstimmung oder null zurück.

Vermeiden Sie den direkten Zugriff auf die Superglobals.

    
Ryan Chouinard 30.09.2010, 13:28
quelle
12

Der Hauptunterschied ist, dass

%Vor%

ist eine Abhängigkeit von der Umgebung. Es erfordert, dass der Superglobal verfügbar ist und einen Schlüssel dieses Namens enthält. Es ist auch nur ein einfacher Array-Zugriff, während

%Vor%

ist ein API-Methodenaufruf. Der Zugriff auf die Anfrage ist abstrahiert. Es besteht keine Abhängigkeit von der tatsächlichen Umgebung. Das Request-Objekt könnte ein Mock sein. Die Methode getParam gibt immer einen Wert zurück, unabhängig davon, ob sie aus $_GET oder $_POST stammt.

Das Hinzufügen einer Abstraktion über die Anfrage ist besser, da sie mehr Entkopplung und weniger Abhängigkeiten ermöglicht und daher Ihre Anwendung leichter zu testen und zu warten macht.

    
Gordon 30.09.2010 13:26
quelle
0

Nach dem Studium der umfassenden Zend 2-Datenbindungsdokumentation Ich habe herausgefunden, dass es am besten ist, über die automatisch zugängliche Params-Plugin . Unter Verwendung dieses Plugins können Sie einen Parameter wie unten gezeigt innerhalb eines Controllers erhalten.

%Vor%     
Tigerman55 07.06.2016 21:19
quelle
0

Dies funktioniert für ZF2

%Vor%     
BlueBird 09.01.2017 08:25
quelle

Tags und Links