1) routes.php
переадресуем все запросы на controllers/main.php
$route['default_controller'] = "main";
$route['scaffolding_trigger'] = "";
2)
controllers/main.php
<?php
class Main extends Controller {
function index() {
$this->load->model('m_main');
$url = $this->uri->uri_string();
$result = $this->m_main->router($url);
//получили имя нужного нам контроллера
$controller = $result->controller;
//получили имя нужного нам вьюшки
$view = $result->view;
require_once($controller); //загрузили нужный нам контроллер
$data = ... вызываем функцию в этом контроллере,понятно
что она должна быть в каждом контроллере
$this->load->view($view, $data);
}
}
models/m_main.php
<?
class m_main extends Model {
function __construct() {
parent::Model();
}
function router($url) {
$sql = "
SELECT *
FROM `router`
WHERE `url` = `$url`
";
$query = $this->db->query($sql)->row();
return $query;
}
}
?>