<?php use Inphinit\App; use Inphinit\View; use Inphinit\Request; use Inphinit\Routing\Route; App::on('changestatus', function ($status, $msg) { if ($status === 503) { echo 'This site is currently down for maintenance and should be back soon!'; } elseif (in_array($status, array(401, 403, 404, 500, 501))) { View::forceRender(); View::render('httpview', array('title' => $msg ? $msg : 'Página inacessível', 'method' => $_SERVER['REQUEST_METHOD'], 'path' => Request::path(), 'route' => Request::path(true), 'status' => $status)); exit; } }); Route::set('ANY', '/', 'Home:index'); // Navitate to http://[server]/user/[YOUR NAME] like: http://[server]/user/mary Route::set('ANY', 're:#^/user/([a-z0-9_]+)$#', 'Users.Profile:view'); // Navitate to http://[server]/info Route::set('ANY', '/info', 'Examples:info'); // Navitate to http://[server]/closure Route::set('ANY', '/closure', 'Examples:arrayClosure');
public static function exec() { if (self::$initiate) { return null; } self::trigger('init'); self::$initiate = true; if (self::env('maintenance') === true) { self::stop(503); } self::trigger('changestatus', array(\UtilsStatusCode(), null)); $route = Route::get(); if ($route) { $mainController = $route['controller']; $parsed = explode(':', $mainController, 2); $mainController = '\\Controller\\' . strtr($parsed[0], '.', '\\'); $action = $parsed[1]; $run = new $mainController(); call_user_func_array(array($run, $action), is_array($route['args']) ? $route['args'] : array()); $run = null; } else { App::stop(404, 'Invalid route'); } if (class_exists('\\Inphinit\\Response', false)) { Response::dispatchHeaders(); } if (class_exists('\\Inphinit\\View', false)) { View::dispatch(); } self::trigger('ready'); self::trigger('finish'); }
public static function view($type, $view) { if ($view !== null && View::exists($view) === false) { Exception::raise($view . ' view is not found', 2); } $callRender = array('\\Experimental\\Debug', 'render' . ucfirst($type)); switch ($type) { case 'error': self::$views[$type] = $view; App::on('error', $callRender); break; case 'classes': case 'performance': self::$views[$type] = $view; App::on('terminate', $callRender); break; default: Exception::raise($type . ' is not valid event', 2); } self::register(); }
public static function view($type, $view) { if ($view !== null && View::exists($view) === false) { Exception::raise($view . ' view is not found', 2); } $callRender = array('\\' . get_called_class(), 'render' . ucfirst($type)); switch ($type) { case 'error': self::$views[$type] = $view; App::on('error', $callRender); if (empty(self::$displayErrors)) { self::$displayErrors = ini_get('display_errors'); ini_set('display_errors', '0'); } break; case 'classes': case 'performance': self::$views[$type] = $view; App::on('terminate', $callRender); break; default: Exception::raise($type . ' is not valid event', 2); } }
public function index() { View::render('home', array('intro' => 'Hello world!')); }
public function view($username) { View::render('foo.bar', array('name' => $username)); }