Update index.php
This commit is contained in:
parent
9aa0287303
commit
38fd7ad438
233
index.php
233
index.php
|
@ -1,63 +1,202 @@
|
|||
<?php
|
||||
/**
|
||||
* @file index.php
|
||||
* @file base.php
|
||||
* @date 2018-04-13
|
||||
* @author Go Namhyeon <gnh1201@gmail.com>
|
||||
* @brief ReasonableFramework
|
||||
* @cvs http://github.com/gnh1201/reasonableframework
|
||||
* @brief Base module
|
||||
*/
|
||||
|
||||
define("_DEF_VSPF_", true);
|
||||
// set scope
|
||||
if(!function_exists("set_scope")) {
|
||||
function set_scope($k, $v) {
|
||||
global $scope;
|
||||
$scope[$k] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
// define system modules
|
||||
$load_systems = array("base", "config", "database", "uri", "logger", "security");
|
||||
// get scope
|
||||
if(!function_exists("get_scope")) {
|
||||
function get_scope($k) {
|
||||
global $scope;
|
||||
return array_key_exists($k, $scope) ? $scope[$k] : null;
|
||||
}
|
||||
}
|
||||
|
||||
// load system modules
|
||||
foreach($load_systems as $system_name) {
|
||||
$system_inc_file = "./system/" . $system_name . ".php";
|
||||
if(file_exists($system_inc_file)) {
|
||||
if($system_name == "base") {
|
||||
include($system_inc_file);
|
||||
} else {
|
||||
include_isolate($system_inc_file, $scope);
|
||||
// register loaded resources
|
||||
if(!function_exists("register_loaded")) {
|
||||
function register_loaded($k, $v) {
|
||||
global $scope;
|
||||
if(array_key_exists($k, $scope['loaded'])) {
|
||||
array_push($scope['loaded'][$k], $v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// get config
|
||||
$config = get_scope("config");
|
||||
|
||||
// set max_execution_time
|
||||
$max_execution_time = get_value_in_array("max_execution_time", $config, 0);
|
||||
@ini_set("max_execution_time", $max_execution_time);
|
||||
|
||||
// autoload module
|
||||
if(!array_key_empty("enable_autoload", $config)) {
|
||||
loadModule("autoload");
|
||||
}
|
||||
|
||||
// set timezone
|
||||
$default_timezone = get_value_in_array("timezone", $config, "UTC");
|
||||
date_default_timezone_set($default_timezone);
|
||||
|
||||
// route controller
|
||||
$route = get_value_in_array("route", $_REQUEST, "");
|
||||
|
||||
// load route
|
||||
if(empty($route)) {
|
||||
$route = get_value_in_array("default_route", $config, "welcome");
|
||||
} else {
|
||||
$route_names = explode('/', $route);
|
||||
if(count($route_names) > 1) {
|
||||
$route = $route_names[0];
|
||||
// sandbox for include function
|
||||
if(!function_exists("include_isolate")) {
|
||||
function include_isolate($file, $data=array()) {
|
||||
if(count($data) > 0) {
|
||||
extract($data);
|
||||
}
|
||||
return include($file);
|
||||
}
|
||||
}
|
||||
|
||||
// including route file
|
||||
$route_file_name = "./route/" . $route . ".php";
|
||||
if(!file_exists($route_file_name)) {
|
||||
$route = "errors/404";
|
||||
$route_file_name = "./route/" . $route . ".php";
|
||||
// load view file
|
||||
if(!function_exists("renderView")) {
|
||||
function renderView($name, $data=array()) {
|
||||
if(count($data) > 0) {
|
||||
extract($data);
|
||||
}
|
||||
|
||||
$flag = true;
|
||||
$views = explode(';', $name);
|
||||
foreach($views as $name2) {
|
||||
$viewfile = './view/' . $name2 . '.php';
|
||||
if(file_exists($viewfile)) {
|
||||
$flag = $flag && include_isolate($viewfile, $data);
|
||||
register_loaded("view", $viewfile);
|
||||
}
|
||||
}
|
||||
return $flag;
|
||||
}
|
||||
}
|
||||
include_isolate($route_file_name, $scope);
|
||||
register_loaded("route", $route);
|
||||
|
||||
// load system module
|
||||
if(!function_exists("loadModule")) {
|
||||
function loadModule($name) {
|
||||
$flag = true;
|
||||
$modules = explode(';', $name);
|
||||
foreach($modules as $name2) {
|
||||
$systemfile = './system/' . $name2 . '.php';
|
||||
if(file_exists($systemfile)) {
|
||||
$flag = $flag && include_isolate($systemfile);
|
||||
register_loaded("view", $systemfile);
|
||||
}
|
||||
}
|
||||
return $flag;
|
||||
}
|
||||
}
|
||||
|
||||
// load helper file
|
||||
if(!function_exists("loadHelper")) {
|
||||
function loadHelper($name) {
|
||||
$flag = true;
|
||||
$helpers = explode(';', $name);
|
||||
foreach($helpers as $name2) {
|
||||
$helperfile = './helper/' . $name2 . '.php';
|
||||
if(file_exists($helperfile)) {
|
||||
$flag = $flag && include_isolate($helperfile);
|
||||
register_loaded("helper", $helperfile);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// load route file
|
||||
if(!function_exists("loadRoute")) {
|
||||
function loadRoute($name, $data=array()) {
|
||||
$flag = true;
|
||||
$routes = explode(";", $name);
|
||||
foreach($routes as $name2) {
|
||||
$routefile = './route/' . $name . '.php';
|
||||
if(file_exists($routefile)) {
|
||||
$flag = $flag && include_isolate($routefile, $data);
|
||||
register_loaded("route", $routefile);
|
||||
}
|
||||
}
|
||||
return $flag;
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists("array_key_empty")) {
|
||||
function array_key_empty($key, $array) {
|
||||
$empty = true;
|
||||
|
||||
if(is_array($array)) {
|
||||
if(array_key_exists($key, $array)) {
|
||||
if(!empty($array[$key])) {
|
||||
$empty = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $empty;
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists("array_multikey_empty")) {
|
||||
function array_multikey_empty($keys, $array) {
|
||||
$flag = true;
|
||||
foreach($keys as $key) {
|
||||
$flag = $flag && array_key_empty($key, $array);
|
||||
}
|
||||
return $flag;
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists("get_value_in_array")) {
|
||||
function get_value_in_array($name, $arr=array(), $default=0) {
|
||||
$output = 0;
|
||||
|
||||
if(is_array($arr)) {
|
||||
$output = array_key_empty($name, $arr) ? $default : $arr[$name];
|
||||
} else {
|
||||
$output = $default;
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists("cut_str")) {
|
||||
function cut_str($str, $start, $len=0) {
|
||||
$cutted_str = "";
|
||||
if(function_exists("iconv_substr")) {
|
||||
$cutted_str = iconv_substr($str, $start, $len, "utf-8");
|
||||
} elseif(function_exists("mb_substr")) {
|
||||
$cutted_str = mb_substr($str, $start, $len);
|
||||
} else {
|
||||
$cutted_str = substr($start, $len);
|
||||
}
|
||||
|
||||
return $cutted_str;
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists("read_file_by_line")) {
|
||||
function read_file_by_line($filename) {
|
||||
$lines = array();
|
||||
$handle = fopen($filename, "r");
|
||||
if ($handle) {
|
||||
while (($line = fgets($handle)) !== false) {
|
||||
$lines[] .= $line;
|
||||
}
|
||||
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists("nl2p")) {
|
||||
function nl2p($string) {
|
||||
$paragraphs = '';
|
||||
foreach (explode("\n", $string) as $line) {
|
||||
if (trim($line)) {
|
||||
$paragraphs .= '<p>' . $line . '</p>';
|
||||
}
|
||||
}
|
||||
return $paragraphs;
|
||||
}
|
||||
}
|
||||
|
||||
$scope = array();
|
||||
|
||||
set_scope("loaded", array(
|
||||
"module" => array(),
|
||||
"helper" => array(),
|
||||
"view" => array(),
|
||||
"route" => array(),
|
||||
));
|
||||
|
|
Loading…
Reference in New Issue
Block a user