di.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * DI依赖注入配置文件
  4. *
  5. * @license http://www.phalapi.net/license GPL 协议
  6. * @link http://www.phalapi.net/
  7. * @author dogstar <chanzonghuang@gmail.com> 2017-07-13
  8. */
  9. use PhalApi\Loader;
  10. use PhalApi\Config\FileConfig;
  11. use PhalApi\Logger;
  12. use PhalApi\Logger\FileLogger;
  13. use PhalApi\Database\NotORMDatabase;
  14. /** ---------------- 基本注册 必要服务组件 ---------------- **/
  15. $di = \PhalApi\DI();
  16. // 配置
  17. $di->config = new FileConfig(API_ROOT . '/config');
  18. // 调试模式,$_GET['__debug__']可自行改名
  19. $di->debug = !empty($_GET['__debug__']) ? true : $di->config->get('sys.debug');
  20. // 日记纪录
  21. $di->logger = new FileLogger(API_ROOT . '/runtime', Logger::LOG_LEVEL_DEBUG | Logger::LOG_LEVEL_INFO | Logger::LOG_LEVEL_ERROR);
  22. // 数据操作 - 基于NotORM
  23. $di->notorm = new NotORMDatabase($di->config->get('dbs'), $di->debug);
  24. // JSON中文输出
  25. // $di->response = new \PhalApi\Response\JsonResponse(JSON_UNESCAPED_UNICODE);
  26. /** ---------------- 定制注册 可选服务组件 ---------------- **/
  27. // 签名验证服务
  28. // $di->filter = new \PhalApi\Filter\SimpleMD5Filter();
  29. // 缓存 - Memcache/Memcached
  30. // $di->cache = function () {
  31. // return new \PhalApi\Cache\MemcacheCache(\PhalApi\DI()->config->get('sys.mc'));
  32. // };
  33. // 支持JsonP的返回
  34. // if (!empty($_GET['callback'])) {
  35. // $di->response = new \PhalApi\Response\JsonpResponse($_GET['callback']);
  36. // }
  37. // 生成二维码扩展,参考示例:?s=App.Examples_QrCode.Png
  38. // $di->qrcode = function() {
  39. // return new \PhalApi\QrCode\Lite();
  40. // };