<?php
namespace GK;
use GK\Exception\ClassNotFoundException;
class App
{
public static $Config;
public static $Module;
public static $Controller;
public static $Action;
public static $file = [];
public static function Run(){
Route::Register() self::InitCommon() if(!empty(self::$Config['AppConfig']['controller_suffix'])){
$Controller=self::$Controller.self::$Config['AppConfig']['controller_suffix'];
}else{
$Controller=self::$Controller;
}
$Controller='\\App\\'.self::$Module.'\\Controller\\'.$Controller $Controller=new $Controller() $Controller->{self::$Action}() }
public static function InitConfig(){
$CoreConfig=Config::All(GK_PATH.'Config'.DS.'Core'.DS.'GKConvention.php');
$AppConfig=Config::All(APP_PATH.'Config'.DS.'AppConfig.php');
self::$Config=array_merge($CoreConfig,$AppConfig);
}
public static function InitCommon(){
$AppConfig=Config::All(APP_PATH.self::$Module.DS.'Config'.DS.'AppConfig.php');
if($AppConfig)self::$Config=array_merge(self::$Config,$AppConfig);
date_default_timezone_set(self::$Config['AppConfig']['default_timezone']);
$FunctionFile=[
GK_PATH.'Assistant.php',
APP_PATH.'Common'.DS.'Function.php',
APP_PATH.self::$Module.DS.'Common'.DS.'Function.php',
];
foreach($FunctionFile as $Res){
if(is_file($Res))require_once $Res;
}
if(self::$Config['AppConfig']['app_debug']){
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
ini_set('display_error', 'on');
}else{
$logger=new \Monolog\Logger("Core");
$stream=new \Monolog\Handler\StreamHandler(RUNTIME_PATH.'Log'.DS.'Core.log',\Monolog\Logger::DEBUG);
$logger->pushHandler(new \Monolog\Handler\BufferHandler($stream,10,\Monolog\Logger::DEBUG,true,true));
\Monolog\ErrorHandler::register($logger);
\Monolog\Registry::addLogger($logger);
ini_set('display_error','off');
}
}
}