{PT} - 3.5.3.2 Fluxo de controle

redirect(string $url, integer $status, boolean $exit)

O método de controle de fluxo que você vai usar com maior freqüência é o redirect(). Esse método pega seu primeiro parâmetro na forma de uma URL relativa CakePHP. Quando um usuário fez uma compra com sucesso, você provavelmente irá redirecioná-lo para a tela de recibo.

<?php
	
function comprar() {

    // A lógica para finalizar a compra vai aqui...

    if($sucesso) {
        $this->redirect('/compras/obrigado');
    } else {
        $this->redirect('/compras/confirmar');
    }
}

?>
  1. <?php
  2. function comprar() {
  3. // A lógica para finalizar a compra vai aqui...
  4. if($sucesso) {
  5. $this->redirect('/compras/obrigado');
  6. } else {
  7. $this->redirect('/compras/confirmar');
  8. }
  9. }
  10. ?>

O segundo parâmetro do redirect() lhe permite definir um código de status HTTP para acompanhar o redirecionamento. Você pode querer usar 301 (movido permanentemente) ou 303 (veja outro), dependendo da natureza do redirecionamento.

Esse método não chama exit() depois de redirecionar a menos que você configure o terceiro parâmetro para true.

flash(string $message, string $url, integer $pause)

Similarmente, o método flash() é usado para direcionar o usuário para uma nova página depois de uma operação. O método flash() é diferente pelo fato de mostrar uma mensagem antes de passar o usuário para uma outra URL.

O primeiro parâmetro deve guardar a mensagem a ser mostrada, e o segundo parâmetro é uma URL relativa CakePHP. CakePHP vai mostrar a mensagem na variável $message, por um tempo definido em segundos na variável $pause antes de direcionar o usuário.

Para mensagens flash dentro da página, dê uma olhada no método setFlash() do component Session.

{EN} - 3.5.3.2 Flow Control

Differences

Lines: 1-2Lines: 1-29
-<title>Flow Control</title>
<p></p>
+<title>Fluxo de controle</title>
<div class="method">
redirect(string $url, integer $status, boolean $exit)
</div>
<p>O método de controle de fluxo que você vai usar com maior freqüência é o redirect(). Esse método pega seu primeiro parâmetro na forma de uma URL relativa
CakePHP. Quando um usuário fez uma compra com sucesso, você provavelmente irá redirecioná-lo para a tela de recibo.</p>
<pre>
&lt;?php

func
tion comprar() {

// A lógica para finalizar a compra vai aqui...

if($sucesso) {
$
this-&gt;redirect('/compras/obrigado');
} e
lse {
$this-
&amp;gt;redirect('/compras/confirmar');
}
}

?&
gt;
</pre>
<p>O segundo parâmetro do redirect() lhe permite definir um código de status HTTP para acompanhar o redirecionamento. Você pode querer usar 301 (movido permanentemente) ou 303 (veja outro), dependendo da natureza do redirecionamento.</p>
<p>Esse método não chama exit() depois de redirecionar a menos que você configure o terceiro parâmetro para true.</p>
<div class="method">
flash(string $message, string $url, integer $pause)
</div>
<p>Similarmente, o método flash() é usado para direcionar o usuário para uma nova página depois de uma operação. O método flash() é diferente pelo fato de mostrar uma mensagem antes de passar o usuário para uma outra URL.</p>
<p>O primeiro parâmetro deve guardar a mensagem a ser mostrada, e o segundo parâmetro é uma URL relativa CakePHP. CakePHP vai mostrar a mensagem na variável $message, por um tempo definido em segundos na variável $pause antes de direcionar o usuário.</p>
<p>Para mensagens flash dentro da página, dê uma olhada no método setFlash() do component Session.
</p>