Appel d'une fonction de contrôleur dans un autre contrôleur dans CodeIgniter
J'ai un contrôleur "utilisateur" dans mon codeigniter application. Ce contrôleur dispose d'une fonction appelée logged_user_only()
:
public function logged_user_only()
{
$is_logged = $this -> is_logged();
if( $is_logged === FALSE)
{
redirect('user/login_form');
}
}
Que cette fonction appelle une autre fonction appelée is_logged()
qui vérifie juste si la session est définie, si oui elle renvoie true, sinon retourne false.
Maintenant, si je place cette fonction au début de toute fonction au sein d'un même contrôleur, il vérifie si l'utilisateur n'est pas connecté, il vous redirigera vers login_form
sinon continuez. Cela fonctionne très bien.
Par exemple,
public function show_home()
{
$this -> logged_user_only();
$this->load->view('show_home_view');
}
J'aimerais maintenant appeler cette logged_user_only()
fonction dans une fonction d'un autre contrôleur pour vérifier si l'utilisateur est connecté ou pas?
PS. Si cela ne peut être fait, ou n'est pas recommandé, où dois-je placer cette fonction pour accéder à de multiples contrôleurs? Merci.
source d'informationauteur Roman
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas prolonger les contrôleurs de la méthode de login est à MON contrôleur (dans le dossier core de votre demande) et tous vos autres contrôleurs de prolonger cette. Par exemple, vous pourriez avoir:
et vos contrôleurs principaux pourrait alors étendre ce comme suit:
Pour de plus amples renseignements, visitez:
La Création De Base Du Système De ClassesNouveau lien est ici:
https://www.codeigniter.com/user_guide/general/core_classes.html?highlight=core%20classes
Appeler un contrôleur à partir d'un autre n'est pas possible avec CI et n'est pas recommandé.
Déplacer votre
logged_user_only
dans un helper ou encore mieux, un contrôleur de base que vous développez tous vos contrôleurs de (MY_Controller
) voir http://codeigniter.com/wiki/MY_Controller_-_how_to_extend_the_CI_Controller/il suffit de charger l'utilisateur contrôleur de la bibliothèque dans votre contrôleur
}
maintenant,à l'appel de cette fonction de contrôleur utilisateur n'importe où dans votre contrôleur,
Fonction de connexion à un Contrôleur de Connexion
Fonction de Construire dans un Contrôleur de l'utilisateur