3.5.3.2 Controllo di Flusso
3.5.3.2.1 redirect
redirect(string $url, integer $status, boolean $exit)
Il metodi di controllo del flusso usato più spesso è redirect(). Questo metodo prende il primo parametro nella form di un indirizzo CakePHP-URL. Quando un utente ha ordinato correttamente qualcosa, vorresti ridirezionarlo ad una schermata di ricevuta d'ordine.
function placeOrder() {
//Logic for finalizing order goes here
if($success) {
$this->redirect(array('controller' => 'orders', 'action' => 'thanks'));
} else {
$this->redirect(array('controller' => 'orders', 'action' => 'confirm'));
}
}
function placeOrder() {//Logic for finalizing order goes hereif($success) {$this->redirect(array('controller' => 'orders', 'action' => 'thanks'));} else {$this->redirect(array('controller' => 'orders', 'action' => 'confirm'));}}
Il secondo parametro di redirect() permette di definire uno stato HTTP per accompagnare il redirect. Potresti utilizzare 301 (moved permanently) o 303 (see other), a seconda della natura del redirect.
Il metodo userà un exit() dopo il redirect a meno che non si è settato il terzo parametro a false.
3.5.3.2.2 flash
flash(string $message, string $url, integer $pause)
Similmente, il metodo flash() è usato per direzionare un utente ad una nuova pagina dopo una certa operazione. Il metodo flash() si differenzia in quanto visualizza un messaggio prima di mandare l'utente ad un altro URL.
Il primo parametro conterrà il messaggio che verrà visualizzato, e il secondo parametro è un indirizzo relativo CakePHP. CakePHP visualizzerà il $message per $pause secondi prima di reindirizzare l'utente.
Per i messaggi flash in-page, consultare il metodo setFlash() del SessionComponent.
