Common.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace app\common\behavior;
  3. use think\Config;
  4. class Common
  5. {
  6. public function run(&$request)
  7. {
  8. // 设置mbstring字符编码
  9. mb_internal_encoding("UTF-8");
  10. // 如果修改了index.php入口地址,则需要手动修改cdnurl的值
  11. $url = preg_replace("/\/(\w+)\.php$/i", '', $request->root());
  12. // 如果未设置__CDN__则自动匹配得出
  13. if (!Config::get('view_replace_str.__CDN__'))
  14. {
  15. Config::set('view_replace_str.__CDN__', $url);
  16. }
  17. // 如果未设置__PUBLIC__则自动匹配得出
  18. if (!Config::get('view_replace_str.__PUBLIC__'))
  19. {
  20. Config::set('view_replace_str.__PUBLIC__', $url . '/');
  21. }
  22. // 如果未设置__ROOT__则自动匹配得出
  23. if (!Config::get('view_replace_str.__ROOT__'))
  24. {
  25. Config::set('view_replace_str.__ROOT__', preg_replace("/\/public\/$/", '', $url . '/'));
  26. }
  27. // 如果未设置cdnurl则自动匹配得出
  28. if (!Config::get('site.cdnurl'))
  29. {
  30. Config::set('site.cdnurl', $url);
  31. }
  32. // 如果未设置cdnurl则自动匹配得出
  33. if (!Config::get('upload.cdnurl'))
  34. {
  35. Config::set('upload.cdnurl', $url);
  36. }
  37. if (Config::get('app_debug'))
  38. {
  39. // 如果是调试模式将version置为当前的时间戳可避免缓存
  40. Config::set('site.version', time());
  41. // 如果是开发模式那么将异常模板修改成官方的
  42. Config::set('exception_tmpl', THINK_PATH . 'tpl' . DS . 'think_exception.tpl');
  43. }
  44. // 如果是trace模式且Ajax的情况下关闭trace
  45. if (Config::get('app_trace') && $request->isAjax())
  46. {
  47. Config::set('app_trace', false);
  48. }
  49. }
  50. }