/** * [__construct description] * @param string $uri [description] */ public function __construct($uri) { $this->uri = $uri; $this->defaultController = BASECONTROLLER; $data['content'] = NOTFOUND; if (is_object($uri)) { Controller::render('includes/template', compact($data)); exit; } $this->count = substr_count($uri, '/'); $this->path = explode('/', $uri); $route = array_diff($this->path, explode('/', URL)); foreach ($route as $key => $value) { $this->route[] = $value; } $this->setController(); $this->setMethod(); $this->checkRouting(); $this->class = Loader::controller($this->controller); }
/** * [controller description] * @param string $controller [description] * @param [type] $initController [description] * @return [type] */ public static function controller($controller = '', $initController = null) { $data['content'] = NOTFOUND; if (is_array($controller)) { foreach ($controller as $class) { if (is_readable(APPPATH . 'controllers/' . ucfirst($controller) . 'Controller.php')) { $class_name = ucfirst($class) . 'Controller'; Loader::initialize_object(APPPATH . 'controllers/' . $class_name); $initController = new $class_name(); } else { $c = new Controller(); $c->render('includes/template', compact($data)); } } } if (is_string($controller)) { if (is_readable(APPPATH . 'controllers/' . ucfirst($controller) . 'Controller.php')) { $class_name = ucfirst($controller) . 'Controller'; Loader::initialize_object(APPPATH . 'controllers/' . $class_name); $initController = new $class_name(); } else { Controller::render('includes/template', compact($data)); } } return $initController; }
public static function handler($errorMessage, $errorCode = null, $errorFile = null, $errorLine = null) { $data = array('errorMessage' => $errorMessage, 'errorCode' => $errorCode, 'errorFile' => $errorFile, 'errorLine' => $errorLine, 'content' => 'ErrorView'); Controller::render('includes/template', compact('data')); exit; }
<?php use Smooth\Controller; Controller::render('includes/header'); Controller::render($data['content'], $data); Controller::render('includes/footer');