В CodeIgniter Вы можете создать основной контроллер по следующему пути:
application/core/MY_Controller.php
Затем вы можете использовать его для расширения ваших контроллеров, например:
class MY_Controller extends CI_Controller {
public function __construct() {
// your logic here
}
}
class Pages extends MY_Controller {
public function index() {
// display all pages here
}
}
Вам не нужно создавать конструктор в каждом создаваемом вами классе, если вам не нужно или не нужно что-то переопределять. И если вы хотите иметь глобальные данные, просто создайте защищенное свойство в вашем основном контроллере и используйте его в других классах
например:
// MY_Controller
protected $data;
public function __construct() {
$this->data = $this->somemodel->get_static()
}
в ваших контроллерах вы можете сделать что-то вроде этого
public function index() {
$this->data['pages'] = $this->pagesmodel->get_pages();
$this->load->view('path/to/view', $this->data);
}
Контроллер ядра автоматически загружается, если он существует, просто создайте файл и начните его использовать.