$name)) { $self->$name = new $class; return; } } load_file($name, 'sys'); if(class_exists($class, FALSE)) { $self->$name = new $class; } } // -------------------------------------------------------------------------- /** * Custom error handler */ function on_error($severity, $message, $filepath, $line, $context) { $levels = array( E_ERROR => 'Error', E_WARNING => 'Warning', E_PARSE => 'Parsing Error', E_NOTICE => 'Notice', E_CORE_ERROR => 'Core Error', E_CORE_WARNING => 'Core Warning', E_COMPILE_ERROR => 'Compile Error', E_COMPILE_WARNING => 'Compile Warning', E_USER_ERROR => 'User Error', E_USER_WARNING => 'User Warning', E_USER_NOTICE => 'User Notice', E_STRICT => 'Strict Error' ); $severity = (isset($levels[$severity])) ? $levels[$severity] : $severity; // Contain the content for buffering ob_start(); include(APP_PATH.'/errors/error.php'); $buffer = ob_get_contents(); ob_end_clean(); echo $buffer; } // -------------------------------------------------------------------------- /** * Custom exception handler */ function on_exception($exception) { // these are our templates $traceline = "#%s %s(%s): %s(%s)"; $msg = "PHP Fatal error: Uncaught exception '%s' with message '%s' in %s:%s
Stack trace:
%s
thrown in %s on line %s"; // alter your trace as you please, here $trace = $exception->getTrace(); // build your tracelines $result = array(); foreach ($trace as $key => $stackPoint) { $result[] = sprintf( $traceline, $key, $stackPoint['file'], $stackPoint['line'], $stackPoint['function'], implode(', ', $stackPoint['args']) ); } // trace always ends with {main} $result[] = '#' . ++$key . ' {main}'; // write tracelines into main template $msg = sprintf( $msg, get_class($exception), $exception->getMessage(), $exception->getFile(), $exception->getLine(), implode("
", $result), $exception->getFile(), $exception->getLine() ); echo $msg; } // -------------------------------------------------------------------------- /** * Calls the appropriate module/controller/function based on the url */ function route() { $controller = "welcome"; $module = "welcome"; $func = "index"; if( ! empty($_SERVER['PATH_INFO'])) { $segments = explode('/', $_SERVER['PATH_INFO']); } load_file("controllers/{$controller}", $module); $class = new $controller; call_user_func(array($class, $func)); } // -------------------------------------------------------------------------- //Set error handlers set_error_handler('on_error'); set_exception_handler('on_exception'); // Load Most Common libraries require_once('miniMVC.php'); require_once('output.php'); require_once('page.php'); require_once('db.php'); //Route to the appropriate function route(); // End of common.php