Codeigniter flashdata - est-ce que je l'utilise correctement?
J'ai appris à propos de flashdata et décidé de l'utiliser pour afficher des messages sur la base de la base de données des interactions.
Par exemple, si les lignes sont affectées je veux afficher Post id is invalid or does not exist!
Dans mon modèle
function delete_post($post_id)
{
$this->db->where('user_id', $user_id);
$this->db->where('post_id', $post_id);
$this->db->delete('posts');
if ($this->db->affected_rows() == 0)
{
$this->session->set_flashdata('result', 'Post id is invalid or does not exist!');
redirect('/posts/management');
return FALSE;
}
else
{
redirect('/posts/management');
return TRUE;
}
}
et de mon point de vue
if ($this->session->flashdata('result') != ''):
echo $this->session->flashdata('result');
endif;
Cela semble fonctionner très bien, mais il n'y a pas d'exemple dans l'IC de la documentation comment passer flashdata entre MVC. Je suis concerné.. Suis-je le faire correctement?
edit: il me semble avoir laissé FAUX et VRAI à partir d'une tentative préalable. Je n'aurai probablement pas besoin de ça.
source d'informationauteur CyberJunkie | 2011-06-11
Vous devez vous connecter pour publier un commentaire.
Les données de Session sont disponibles n'importe où dans votre application, à tout moment. L'appeler directement à partir d'un fichier de vue est correct, et donc de le placer à un Contrôleur.
Il y a pas nécessaire à tous les passer comme des données avec
$this->load->view()
- c'est redondant. Pourquoi l'attribuer à la flashdata, en premier lieu, dans ce cas?La façon dont vous le faites est correct.
MODIFIER: je viens de voir que vous êtes paramètre dans le Modèle au lieu de Contrôleur, qui est hautement discutable. Je suggère de retourner une valeur à partir de votre Modèle d'appel, et mettre le message en se basant sur dans votre Contrôleur à la place.
Dans la vue,
Je viens de l'enregistrer dans un tableau et passer à la vue 🙂
Vue
http://codeigniter.com/user_guide/general/views.html