Bonjour ,
je souhaiterai faire un système d'authentification sur codeigniter ,
est-ce qu'il y aurait un moyen de mettre un code dans mon controller qui s'execute avant le lancement de chaque méthode pour faire un système de filtre .
J'ai pensé à le mettre dans le __construct() mais du coup je vois pas comment choisir sur quelle méthode il s'applique .
Merci d'avance
Pour codeIgniter tu as une solution simple qui consiste à créer ton Controller maître ;)
Tu crées un fichier My_Controller dans le dossier core et dans le constructeur tu lances la vérification des sessions. Tu peux aussi utiliser les hooks mais un controller de base sera plus simple ;)
Ta classe My_Controller devra hériter de la classe Controller mère (je ne sais plus comme elle s'appelle trou de mémoire désolé ^^) et du coup tous tes controllers devront hériter de My_Controller. Après tu as un tutoriel sur la connexion automatique sur grafikart et je te conseille de suivre la doc (en anglais) qui est assez bien foutue je trouve :)
Bonjour,
de mémoire tu peux faire :
<?php
class MY_Controller extends CI_Controller {
public function _remap($method, $args) {
// est exécuté avant l'action
$this->before();
// exécute l'action normal demandé
call_user_func_array(array($this, $method), $args);
// exécuté après l'action
$this->after();
}
// tu peux, ou non, les redéfinir dans tes controleurs fils
// si tu veux un before pour tout les controleurs tu le mets ici
protected function before() { return; }
protected function after() { return; }
}
A tester, n'oublie de faire hériter tes controleurs de MY_Controller.
Bon courage