protected function load_model($file) { $path = sprintf($this->_path_model, $file); $this->_require($path); $class = get_the_class_name($path); return new $class(); }
$class = ucwords($class); $class = str_replace(' ', '_', $class); return $class; } // set up our routes $routes = array('admin\\/?([^\\?]+)(\\?.*)?$' => 'controller/admin_controller', '(.*)?$' => 'controller/page_controller'); // match our route against the current URL $url = str_replace(URL_PREFIX, '', $_SERVER['REQUEST_URI']); $controller = null; $matches = null; // loop through our routes foreach ($routes as $route => $controller) { if (preg_match('/' . $route . '/', $url, $matches)) { break; } } // can we haz controller? if ($controller !== null && $matches !== null) { // require our base conroller require_once 'controller/base_controller.php'; // require it require_once $controller . '.php'; // get the class name, remember Foo_Controller is the target $class = get_the_class_name($controller); // disregard the first part of our $matches array array_shift($matches); // init it and pass matches are the args new $class($matches); } else { require_once '404.php'; }