コード例 #1
4
ファイル: main.php プロジェクト: inphinit/inphinit
<?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');
コード例 #2
3
ファイル: App.php プロジェクト: brcontainer/inphinit
 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');
 }
コード例 #3
2
ファイル: Debug.php プロジェクト: brcontainer/inphinit
 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();
 }
コード例 #4
2
ファイル: Debug.php プロジェクト: inphinit/framework
 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);
     }
 }
コード例 #5
0
ファイル: Home.php プロジェクト: brcontainer/inphinit
 public function index()
 {
     View::render('home', array('intro' => 'Hello world!'));
 }
コード例 #6
0
ファイル: Profile.php プロジェクト: brcontainer/inphinit
 public function view($username)
 {
     View::render('foo.bar', array('name' => $username));
 }