Вот еще одно решение с использованием Codeigniter3
require_once 'Base.php';
class Index extends Base
{
public function __construct()
{
parent::index();
$classname=$this->router->fetch_class();
$actioname=$this->router->fetch_method();
if($actioname=='index' || $actioname == '')
{
$this->viewall();
}
}
}
И viewall () имел следующее
$this->siteinfo['site_title'].=' | Welcome';
$this->load->view('templates/header', $this->siteinfo);
$this->load->view('templates/menu', $this->siteinfo);
$this->load->view('index/viewall', $data);
$this->load->view('templates/footer', $this->siteinfo);
Базовый контроллер выполняет всю загрузку библиотеки и помощника для всего приложения, поэтому он требуется в классе по умолчанию
По сути, из моего короткого понимания CodeIgniter, использование действия по умолчанию в качестве индекса неверно. Я выяснил это с помощью печати результата $ this-> router-> fetch_method (); в конструкции () моего класса индекса. Действие по умолчанию CodeIgniter - это индекс, вы можете установить контроллер по умолчанию только в application / config / rout.php, а не действие по умолчанию.
Так что мой совет, никогда не используйте index () в качестве действия по умолчанию, особенно если вы используете index в качестве контроллера по умолчанию