Umleitung der URL mit variable in Zend Framework
Was ist die empfohlene Methode zur Weiterleitung von Variablen in Zend Framework?
Können sagen, wir haben eine Aktion wie diese in einem controller:
public function newAction()
{
$form = new Form_ApplicationForm();
if($this->_request->isPost()){
$data = $_POST;
if($form->isValid($data)){
$appModel = new Model_Application();
$result = $appModel->createApplication($form->getValue('name'),
$form->getValue('email'),
$form->getValue('comments'));
if($result){
//redirect here
}
}else{
$form->populate($data);
}
}
$this->view->form = $form;
}
Wenn ich wollte, einen redirect zu einer URL, wo ich zeigen konnte, so etwas wie:
"Vielen Dank für Ihre Bewerbung, Ihre
Referenz #123"
Wie soll ich führen diese Umleitung?
etwas wie das vielleicht?
$this->_redirect('/application/confirm/'.$result);
Wenn ja, dann wie würde ich auf die $result
var?
BEARBEITEN ODER ich denke, das würde funktionieren:
$this->_redirect('/application/confirm/?id='.$result);
.. aber ich bin mir nicht sicher ob das best practice oder nicht?
Habe ich schon Beispiele gesehen, wo Menschen nutzen _forward()
für Ihre leitet aber die URL ändert sich nie, die schafft Probleme mit mehreren Veröffentlichungen etc.
Habe ich jemanden gesehen, empfehlen gotoSimple()
aber ich bin mir nicht sicher über diese. Noch ein ZF-noob, also entschuldigt, wenn das ist offensichtlich, aber ich denke, das ist etwas, das mit mehreren Anwendungen für CRUD-Typ-Systeme sowieso nicht so wäre daran interessiert zu wissen.
Dank
InformationsquelleAutor robjmills | 2010-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Viel von Optionen. Controller
$this->_redirect()
Delegierten die Arbeit zuZend_Controller_Action_Helper_Redirector
. Überprüfen Sie Ihre Dokumentation für alle die Optionen, und wählen Sie die, die Sie mögen. Einfachste Weise, die nicht mit Routen:oder
Du hast Recht, zahlen Sie die Aufmerksamkeit auf den Unterschied zwischen
_redirect
und_forward
. Weiterleitung bedeutet, dass nur re-routing der ersten Anfrage, während_redirect
wirklich verursacht einen HTTP-redirect.Ich sehe seine zur Verfügung über $this->_request- > getParam('param1'), ist dies die empfohlene Methode?
Anfrage getQuery([string $key = null], [mixed $default = null]) gibt den Mitgliedern von $_GET superglobale. getParam funktioniert auch, aber es gibt mehr als nur $_GET Einträge.
InformationsquelleAutor Ivan Krechetov
Nicht zu einfach, aber haben Sie sich überlegt, dass es in
$_SESSION
, und dann nur Lesen Sie auf der nächsten Seite?Seite 1:
Seite 2:
Ja, es ist hacky 😉
InformationsquelleAutor gahooa