Unterschied zwischen $ this-render und $ this-redirect Symfony2

8

Was ist der Unterschied zwischen $ this- & gt; render und $ this- & gt; redirect. Gibt es eine Möglichkeit, Argumente mit $ this- & gt; rendern zu übergeben, wie in $ those- & gt; redirect

%Vor%

Kann ich so etwas tun: -

%Vor%

Oder gibt es andere Möglichkeiten, Werte mit $ this- & gt; Redirect an meine Template-Zweigdatei weiterzuleiten.

Und noch eine Frage Wie kann ich die URL mit $this->redirect ändern, zB wenn ich keine Werte an meine Vorlagendatei übergeben muss, kann ich wie oben erwähnt auf eine Seite wie localhost gehen / myproject / home aber $->this->redirect führt den Controller aus, aber die URL ist dieselbe wie localhost / meinprojekt / . Gibt es sowieso ich kann umleiten zu einer anderen URL mit Redirect

    
ScoRpion 25.02.2012, 08:26
quelle

1 Antwort

32

Weiterleitung ()

Redirect führt eine 301- oder 302-Weiterleitung zur angegebenen Route / Position durch. Sie können damit eine vollständige URL eingeben, die ich glaube. Bei Verwendung dieser Methode wird die URL in der Adressleiste geändert.

Da Redirect für die Umleitung einen einfachen 301/302-Header verwendet, gibt es keine Möglichkeit, Vorlagenparameter an den neuen Speicherort zu übergeben, mit Ausnahme der URL, wie Sie dies für einen Controller oder eine URL tun würden.

Rendern ()

Render rendert nur die Vorlagendatei, die Sie als Antwort auf die aktuelle Anfrage angeben. Damit können Sie Ihr Array von Template-Parametern wie gewohnt übergeben.

Weiterleiten ()

Es gibt auch Forward, der die Anfrage an einen anderen Controller weiterleitet, der diese Controller-Antwort intern als Antwort auf die aktuelle Anfrage ohne Weiterleitungen sendet. Mit dieser Methode wird die Anforderung intern umgeleitet, ohne dass die URL in der Adressleiste geändert wird.

Der Hauptunterschied zwischen Render und Redirect besteht darin, dass Render Teil des View-Systems ist und daher Parameter an die Tempeltypen übergeben kann. Redirect ist Teil des Controller-Systems und weiß nichts über die View. Sie können Parameter an die Route oder URL übergeben, an die Sie weiterleiten, aber der Zielort muss dann etwas mit ihnen tun, um sie an die Ansicht weiterzuleiten.

    
Hades 25.02.2012, 12:10
quelle

Tags und Links