2010-06-20 9 views
2

J'utilise cakePHP v1.26. Dans le fichier default.ctp, Je suis un seul de ce code en elle:

$session->flash(); 

Je suis venu un corss un site Web dans lequel l'auteur a suggéré d'utiliser ceci:

if($session->check('Message.flash')){ 
$session->flash(); 
} 

I ne comprennent pas ce que cette ligne de code fait:

if($session->check('Message.flash')){...} 

ce qui est dans ce cas « Message.flash »? Est-ce que "Message.flash" est une variable personnalisée ou
une variable intégrée qui a été prédéfinie dans cakePHP?

Répondre

7

Message.flash est le nom de la variable de session. Il sera défini par cakephp, lorsque vous utilisez $this->Session->setFlash('Your message'); à partir de votre contrôleur.

if($session->check('Message.flash')){...} vérifie si la session Message.flash, qui contient le message flash, existe.

+0

Quelle est l'utilisation standard de Message.flash? – paullb

+0

CakePHP stocke votre message flash dedans. – Ragnis

1

Notez également que, contrairement à la description manuelle en cours, session- $> flash() ne pas écho le résultat, il retourne juste, alors vous aurez besoin d'avoir

echo $session->flash();

dans ta vue.

0

Pour la dernière version de cakephp
if (! ($ This-> Session-> check ('Message.flash')));
// votre code

+1

la question indique clairement "J'utilise cakePHP v1.26" – nIcO

+0

Il donnait simplement une mise à jour sur la réponse pour ceux qui trébuchent sur cette question. – alairock

0
In view section for show messages. 
$this->Session->flash();