base.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. define('DS', DIRECTORY_SEPARATOR);
  13. defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS);
  14. defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS);
  15. defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'yyky/runtime' . DS);
  16. defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS);
  17. if (PHP_SAPI == 'cli') {
  18. define('IS_CLI', true);
  19. } else {
  20. define('IS_CLI', false);
  21. }
  22. // 载入Loader类
  23. require __DIR__ . '/library/think/Loader.php';
  24. // 注册自动加载
  25. Loader::register();
  26. // 注册错误和异常处理机制
  27. Error::register();
  28. // 实现日志接口
  29. if (interface_exists('Psr\Log\LoggerInterface')) {
  30. interface LoggerInterface extends \Psr\Log\LoggerInterface
  31. {}
  32. } else {
  33. interface LoggerInterface
  34. {}
  35. }
  36. // 注册类库别名
  37. Loader::addClassAlias([
  38. 'App' => facade\App::class,
  39. 'Build' => facade\Build::class,
  40. 'Cache' => facade\Cache::class,
  41. 'Config' => facade\Config::class,
  42. 'Cookie' => facade\Cookie::class,
  43. 'Db' => Db::class,
  44. 'Debug' => facade\Debug::class,
  45. 'Env' => facade\Env::class,
  46. 'Facade' => Facade::class,
  47. 'Hook' => facade\Hook::class,
  48. 'Lang' => facade\Lang::class,
  49. 'Log' => facade\Log::class,
  50. 'Request' => facade\Request::class,
  51. 'Response' => facade\Response::class,
  52. 'Route' => facade\Route::class,
  53. 'Session' => facade\Session::class,
  54. 'Url' => facade\Url::class,
  55. 'Validate' => facade\Validate::class,
  56. 'View' => facade\View::class,
  57. ]);