App.class.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006-2012 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: liu21st <liu21st@gmail.com>
  10. // +----------------------------------------------------------------------
  11. /**
  12. * ThinkPHP 精简模式应用程序类
  13. */
  14. class App {
  15. /**
  16. * 应用程序初始化
  17. * @access public
  18. * @return void
  19. */
  20. static public function run() {
  21. // 取得模块和操作名称
  22. define('MODULE_NAME', App::getModule()); // Module名称
  23. define('ACTION_NAME', App::getAction()); // Action操作
  24. // 记录应用初始化时间
  25. if(C('SHOW_RUN_TIME')) $GLOBALS['_initTime'] = microtime(TRUE);
  26. // 执行操作
  27. R(MODULE_NAME.'/'.ACTION_NAME);
  28. // 保存日志记录
  29. if(C('LOG_RECORD')) Log::save();
  30. return ;
  31. }
  32. /**
  33. * 获得实际的模块名称
  34. * @access private
  35. * @return string
  36. */
  37. static private function getModule() {
  38. $var = C('VAR_MODULE');
  39. $module = !empty($_POST[$var]) ?
  40. $_POST[$var] :
  41. (!empty($_GET[$var])? $_GET[$var]:C('DEFAULT_MODULE'));
  42. if(C('URL_CASE_INSENSITIVE')) {
  43. // URL地址不区分大小写
  44. define('P_MODULE_NAME',strtolower($module));
  45. // 智能识别方式 index.php/user_type/index/ 识别到 UserTypeAction 模块
  46. $module = ucfirst(parse_name(strtolower($module),1));
  47. }
  48. unset($_POST[$var],$_GET[$var]);
  49. return $module;
  50. }
  51. /**
  52. * 获得实际的操作名称
  53. * @access private
  54. * @return string
  55. */
  56. static private function getAction() {
  57. $var = C('VAR_ACTION');
  58. $action = !empty($_POST[$var]) ?
  59. $_POST[$var] :
  60. (!empty($_GET[$var])?$_GET[$var]:C('DEFAULT_ACTION'));
  61. unset($_POST[$var],$_GET[$var]);
  62. return $action;
  63. }
  64. };