Disons que j'ai un modèle de contrôleur avec une fonction avant comme si ...Comment arrêter l'exécution d'une requête dans Kohana?
public function before()
{
parent::before();
if ($this->request === Request::instance())
{
// its a main request, throw an exception or redirect
Request::instance()->redirect('/');
}
else
{
// ok
}
}
Mais disons que je ne veux pas rediriger, je veux arrêter le flux de demande, et ne rien faire.
Une exception le fait-elle? Y at-il un moyen simple, comme Request::die();
?
EDIT :: En fait, je ne veux pas arrêter le flux de requêtes, j'empêche simplement ce contrôleur de faire quoi que ce soit. Il est probable que ce contrôleur a été appelé à partir d'un autre contrôleur, et je veux transmettre le contrôle au contrôleur appelant.
Merci!
Qu'est-ce qui ne va pas avec 'die()'? – Tesserex
"Ne rien faire" comme complètement arrêter et ne rien afficher? Comme dit Tesserex, 'die' – Fanis
Rien à redire. Donc, à l'intérieur de l'instruction if, vous n'avez qu'à mettre die(); ? Que se passe-t-il s'il y a d'autres appels de sous-contrôleur après l'appel de ce sous-contrôleur? Cela arrêtera-t-il seulement l'action de ce contrôleur, ou tout le script? Je veux seulement arrêter ce contrôleur, mais renvoyer le contrôle au contrôleur appelant s'il y en a un. – brennanag