2009-12-17 4 views
0

Puis-je appeler un contrôleur avec un hook pre_controller?Appel des contrôleurs avec le hook

Quelque chose comme ceci, où ControllerHook est un contrôleur normal.

$hook['pre_controller'][] = array(
    'class' => 'ControllerHook', 
    'function' => 'controllerHookFunction', 
    'filename' => 'ControllerHook.php', 
    'filepath' => 'hooks', 
); 

J'ai déjà essayé, ça marche très bien. Sur le problème est que le traitement de post-crochet, je reçois cette erreur

Fatal error: Call to a member function _assign_libraries() on a non-object in F:\xampp\htdocs\trunk\system\libraries\Loader.php on line 1038 

Je ne sais pas quel est le problème ici.

Je sais que je peux le faire facilement en étendant le contrôleur mais je préférerais le faire avec un crochet. Avec le hook post_controller_ *, le hook du contrôleur ne s'exécute pas.

Merci à l'avance, Shikhar

+0

Pourriez-vous poster le code en question, s'il vous plaît? – nfechner

+0

J'ai formaté la question ... j'espère que c'est logique maintenant. – shikhar

+0

Je vois que vous avez la même question ouverte sur les forums CI à http://codeigniter.com/forums/viewthread/138816/#684238. Vous devriez suivre son conseil et simplement étendre une classe parent plutôt que d'utiliser un crochet. –

Répondre

0

Vous devriez vraiment pas essayer de le faire. Vous ne devriez jamais avoir besoin d'appeler un contrôleur à partir de quoi que ce soit, un contrôleur est appelé et cela appelle tout autre chose.

Il y a beaucoup de ces confuses "comment faire ceci?" moments où vous commencez à utiliser CodeIgniter, mais ils sont généralement suivis par "oh, je le fais mal" réalisations.

Si vous pouviez expliquer votre problème plus en détail (ici ou sur le forum), je serais heureux de vous aider à élaborer la meilleure implémentation.