CodeIgniter 2: Comment étendre CI_Controller plusieurs fois?

J'ai étendu la CI_Controller classe en créant un MY_Controller.php que j'ai placé dans l'application/core répertoire.

core/My_Controller.php ressemble à quelque chose comme ceci:

class MY_Controller extends CI_Controller {

    function __construct()
    {
        parent::__construct();
    }
}

Puis, quand je créer normal contrôleurs ils ressembler à quelque chose comme ceci:

class Home extends MY_Controller {

    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('home');
    }
}

Je suis de la création d'un admin back-end et je veux avoir une autre classe de base pour les contrôleurs de prolonger au lieu de My_Controller. C'est pour que je puisse avoir des méthodes communes pour l'admin contrôleurs (c'est à dire authentication_check etc.)

Ce que je ne peux pas savoir est comment je créer un autre contrôleur qui s'étend CI_Controller.

L'objectif est pour l'administration des contrôleurs d'étendre une autre classe de base que le front-end contrôleurs.

L'administrateur de la base de contrôleur devrait ressembler à ceci:

class MY_Admin_Controller extends CI_Controller {

    function __construct()
    {
        parent::__construct();
    }
}

Un contrôleur de la normale pour les pages d'administration:

class Admin_home extends MY_Admin_Controller {

    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('admin_home');
    }
}

Le problème, c'est que pour prolonger la CI_Controller classe, vous devez nommer votre fichier de contrôleur PREFIX_Controller.php et le placer dans le core/répertoire. Mais j'en veux deux classes de contrôleur et ils ne peuvent pas avoir le même nom de fichier.

  • pardon la question, mais exactement pourquoi voulez-vous faire cela? est-il quelque chose de spécial que vous voulez réaliser?
InformationsquelleAutor Camsoft | 2011-10-02