base.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006~2018 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. namespace think;
  12. // 载入Loader类
  13. require __DIR__ . '/library/think/Loader.php';
  14. define('THINK_START_TIME', microtime(true));
  15. define('THINK_START_MEM', memory_get_usage());
  16. define('EXT', '.php');
  17. define('DS', DIRECTORY_SEPARATOR);
  18. defined('THINK_PATH') or define('THINK_PATH', __DIR__ . DS);
  19. define('LIB_PATH', THINK_PATH . 'library' . DS);
  20. define('CORE_PATH', LIB_PATH . 'think' . DS);
  21. define('TRAIT_PATH', LIB_PATH . 'traits' . DS);
  22. defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS);
  23. defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS);
  24. defined('EXTEND_PATH') or define('EXTEND_PATH', ROOT_PATH . 'extend' . DS);
  25. defined('VENDOR_PATH') or define('VENDOR_PATH', ROOT_PATH . 'vendor' . DS);
  26. defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'runtime' . DS);
  27. defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS);
  28. defined('CACHE_PATH') or define('CACHE_PATH', RUNTIME_PATH . 'cache' . DS);
  29. defined('TEMP_PATH') or define('TEMP_PATH', RUNTIME_PATH . 'temp' . DS);
  30. defined('CONF_PATH') or define('CONF_PATH', APP_PATH); // 配置文件目录
  31. defined('CONF_EXT') or define('CONF_EXT', EXT); // 配置文件后缀
  32. defined('ENV_PREFIX') or define('ENV_PREFIX', 'PHP_'); // 环境变量的配置前缀
  33. // 注册自动加载
  34. Loader::register();
  35. // 注册错误和异常处理机制
  36. Error::register();
  37. // 实现日志接口
  38. if (interface_exists('Psr\Log\LoggerInterface')) {
  39. interface LoggerInterface extends \Psr\Log\LoggerInterface
  40. {}
  41. } else {
  42. interface LoggerInterface
  43. {}
  44. }
  45. // 注册类库别名
  46. Loader::addClassAlias([
  47. 'App' => facade\App::class,
  48. 'Build' => facade\Build::class,
  49. 'Cache' => facade\Cache::class,
  50. 'Config' => facade\Config::class,
  51. 'Cookie' => facade\Cookie::class,
  52. 'Db' => Db::class,
  53. 'Debug' => facade\Debug::class,
  54. 'Env' => facade\Env::class,
  55. 'Facade' => Facade::class,
  56. 'Hook' => facade\Hook::class,
  57. 'Lang' => facade\Lang::class,
  58. 'Log' => facade\Log::class,
  59. 'Request' => facade\Request::class,
  60. 'Response' => facade\Response::class,
  61. 'Route' => facade\Route::class,
  62. 'Session' => facade\Session::class,
  63. 'Url' => facade\Url::class,
  64. 'Validate' => facade\Validate::class,
  65. 'View' => facade\View::class,
  66. ]);