赛亿提成统计系统

App.php 6.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <?php
  2. namespace daswork;
  3. use \daswork\lib\Route;
  4. use \daswork\lib\Config;
  5. class App{
  6. public static $classMap = array();#用于判断类是否存在,节约性能
  7. /**
  8. * 运行控制器和方法
  9. * @throws \Exception
  10. */
  11. public static function run(){
  12. self::init();
  13. $route = new Route();
  14. $model = $route->model;
  15. $ctrlClass = '\\app\\' . $model . '\\' . "controller" . '\\'. $route->ctrl;
  16. $action = $route->action;
  17. $ctrl = new $ctrlClass();
  18. $ctrl->$action();
  19. }
  20. public static function init()
  21. {
  22. Config::load();
  23. }
  24. }
  25. // /**
  26. // * 执行应用程序
  27. // * @access public
  28. // * @param Request $request Request对象
  29. // * @return Response
  30. // * @throws Exception
  31. // */
  32. // public static function run(Request $request = null)
  33. // {
  34. // is_null($request) && $request = Request::instance();
  35. // try {
  36. // $config = self::initCommon();
  37. // if (defined('BIND_MODULE')) {
  38. // // 模块/控制器绑定
  39. // BIND_MODULE && Route::bind(BIND_MODULE);
  40. // } elseif ($config['auto_bind_module']) {
  41. // // 入口自动绑定
  42. // $name = pathinfo($request->baseFile(), PATHINFO_FILENAME);
  43. // if ($name && 'index' != $name && is_dir(APP_PATH . $name)) {
  44. // Route::bind($name);
  45. // }
  46. // }
  47. // $request->filter($config['default_filter']);
  48. // // 默认语言
  49. // Lang::range($config['default_lang']);
  50. // if ($config['lang_switch_on']) {
  51. // // 开启多语言机制 检测当前语言
  52. // Lang::detect();
  53. // }
  54. // $request->langset(Lang::range());
  55. // // 加载系统语言包
  56. // Lang::load([
  57. // THINK_PATH . 'lang' . DS . $request->langset() . EXT,
  58. // APP_PATH . 'lang' . DS . $request->langset() . EXT,
  59. // ]);
  60. // // 获取应用调度信息
  61. // $dispatch = self::$dispatch;
  62. // if (empty($dispatch)) {
  63. // // 进行URL路由检测
  64. // $dispatch = self::routeCheck($request, $config);
  65. // }
  66. // // 记录当前调度信息
  67. // $request->dispatch($dispatch);
  68. // // 记录路由和请求信息
  69. // if (self::$debug) {
  70. // Log::record('[ ROUTE ] ' . var_export($dispatch, true), 'info');
  71. // Log::record('[ HEADER ] ' . var_export($request->header(), true), 'info');
  72. // Log::record('[ PARAM ] ' . var_export($request->param(), true), 'info');
  73. // }
  74. // // 监听app_begin
  75. // Hook::listen('app_begin', $dispatch);
  76. // // 请求缓存检查
  77. // $request->cache($config['request_cache'], $config['request_cache_expire'], $config['request_cache_except']);
  78. // $data = self::exec($dispatch, $config);
  79. // } catch (HttpResponseException $exception) {
  80. // $data = $exception->getResponse();
  81. // }
  82. // // 清空类的实例化
  83. // Loader::clearInstance();
  84. // // 输出数据到客户端
  85. // if ($data instanceof Response) {
  86. // $response = $data;
  87. // } elseif (!is_null($data)) {
  88. // // 默认自动识别响应输出类型
  89. // $isAjax = $request->isAjax();
  90. // $type = $isAjax ? Config::get('default_ajax_return') : Config::get('default_return_type');
  91. // $response = Response::create($data, $type);
  92. // } else {
  93. // $response = Response::create();
  94. // }
  95. // // 监听app_end
  96. // Hook::listen('app_end', $response);
  97. // return $response;
  98. // }
  99. // <?php
  100. // namespace daswork;
  101. // class Daswork{
  102. // static $config;
  103. // static function run(){
  104. // // self::init_path();
  105. // // self::init_autoload(); //加载文件
  106. // self::config();
  107. // self::dispatch();
  108. // }
  109. // // 加载配置文件
  110. // static function config(){
  111. // self::$config = require(APP_PATH.'/config.php');
  112. // }
  113. // // 获取当前url
  114. // static function get_url()
  115. // {
  116. // $default_m = self::$config['conf_url']['m'];
  117. // $default_c = self::$config['conf_url']['c'];
  118. // $default_a = self::$config['conf_url']['a'];
  119. // $request_url =strtolower( $_SERVER['REQUEST_URI'] );
  120. // $url = array();
  121. // $real_url = array();
  122. // $array_url=explode('/',$request_url);
  123. // foreach($array_url as $v){
  124. // if($v != ''){
  125. // $url[] = $v;
  126. // }
  127. // }
  128. // // var_dump($url);exit;
  129. // $url_count = count($url);
  130. // switch ($url_count) {
  131. // case 0:
  132. // $real_url['m'] = $default_m;
  133. // $real_url['c'] = $default_c;
  134. // $real_url['a'] = $default_a;
  135. // break;
  136. // case 1:
  137. // $real_url['m'] = $url[0];
  138. // $real_url['c'] = $default_c;
  139. // $real_url['a'] = $default_a;
  140. // break;
  141. // case 2:
  142. // $real_url['m'] = $url[0];
  143. // $real_url['c'] = $url[1];
  144. // $real_url['a'] = $default_a;
  145. // break;
  146. // default:
  147. // $real_url['m'] = $url[0];
  148. // $real_url['c'] = $url[1];
  149. // $real_url['a'] = $url[2];
  150. // break;
  151. // }
  152. // // var_dump($real_url);
  153. // return $real_url;
  154. // }
  155. // //加载类并实例化,调用指定方法
  156. // static function dispatch(){
  157. // $real_url =self::get_url();
  158. // define("MODULE",$real_url['m']);
  159. // define("CONTROLLER",ucwords($real_url['c']));
  160. // define("ACTION",$real_url['a']);
  161. // require_once(APP_PATH.'/'.MODULE.'/controller/'.CONTROLLER.'.php');
  162. // //需要加上命名空间
  163. // $classname = '\app\\'.MODULE.'\controller\\'.CONTROLLER;
  164. // $a = ACTION;
  165. // $controller = new $classname; //控制器
  166. // return $controller->$a(); // 调用指定方法
  167. // }
  168. // }