InitConfig.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 山西牛酷信息科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com.cn
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. declare (strict_types = 1);
  13. namespace app\event;
  14. use think\facade\Config;
  15. /**
  16. * 初始化配置信息
  17. * @author Administrator
  18. *
  19. */
  20. class InitConfig
  21. {
  22. public function handle()
  23. {
  24. // 初始化常量
  25. $this->initConst();
  26. //初始化配置信息
  27. $this->initConfig();
  28. }
  29. /**
  30. * 初始化常量
  31. */
  32. private function initConst()
  33. {
  34. //加载版本信息
  35. include_once 'app/version.php';
  36. //加载基础化配置信息
  37. define('__ROOT__', str_replace([ '/index.php', '/install.php' ], '', request()->root(true)));
  38. define('__PUBLIC__', __ROOT__ . '/public');
  39. define('__UPLOAD__', 'upload');
  40. //插件目录名称
  41. define('ADDON_DIR_NAME', 'addon');
  42. //插件目录路径
  43. define('ADDON_PATH', 'addon/');
  44. //分页每页数量
  45. define('PAGE_LIST_ROWS', 10);
  46. //伪静态模式是否开启
  47. define('REWRITE_MODULE', true);
  48. // public目录绝对路径
  49. define('PUBLIC_PATH', dirname(dirname(dirname(__FILE__))) . '/public/');
  50. //兼容模式访问
  51. if (!REWRITE_MODULE) {
  52. define('ROOT_URL', request()->root(true) . '/?s=');
  53. }else{
  54. define('ROOT_URL', request()->root(true));
  55. }
  56. }
  57. /**
  58. * 初始化配置信息
  59. */
  60. private function initConfig()
  61. {
  62. $view_array = [
  63. // 模板引擎类型使用Think
  64. 'type' => 'Think',
  65. // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法
  66. 'auto_rule' => 1,
  67. // 模板目录名
  68. 'view_dir_name' => 'view',
  69. // 模板后缀
  70. 'view_suffix' => 'html',
  71. // 模板文件名分隔符
  72. 'view_depr' => DIRECTORY_SEPARATOR,
  73. // 模板引擎普通标签开始标记
  74. 'tpl_begin' => '{',
  75. // 模板引擎普通标签结束标记
  76. 'tpl_end' => '}',
  77. // 标签库标签开始标记
  78. 'taglib_begin' => '{',
  79. // 标签库标签结束标记
  80. 'taglib_end' => '}',
  81. 'tpl_cache' => false, //模板缓存,部署模式后改为true
  82. 'tpl_replace_string' => [
  83. '__ROOT__' => __ROOT__,
  84. 'ROOT_URL' => ROOT_URL,
  85. '__STATIC__' => __PUBLIC__ . '/static',
  86. 'STATIC_EXT' => __PUBLIC__ . '/static/ext',
  87. 'STATIC_CSS' => __PUBLIC__ . '/static/css',
  88. 'STATIC_JS' => __PUBLIC__ . '/static/js',
  89. 'STATIC_IMG' => __PUBLIC__ . '/static/img',
  90. 'ADMIN_IMG' => __ROOT__ . '/app/admin/view/public/img',
  91. 'ADMIN_CSS' => __ROOT__ . '/app/admin/view/public/css',
  92. 'ADMIN_JS' => __ROOT__ . '/app/admin/view/public/js',
  93. 'SHOP_IMG' => __ROOT__ . '/app/shop/view/public/img',
  94. 'SHOP_CSS' => __ROOT__ . '/app/shop/view/public/css',
  95. 'SHOP_JS' => __ROOT__ . '/app/shop/view/public/js',
  96. '__UPLOAD__' => __UPLOAD__,
  97. ]
  98. ];
  99. Config::set($view_array, 'view');
  100. }
  101. }