<?php // +---------------------------------------------------------------------- // | Bwsaas // +---------------------------------------------------------------------- // | Copyright (c) 2015~2020 http://www.buwangyun.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Gitee ( https://gitee.com/buwangyun/bwsaas ) // +---------------------------------------------------------------------- // | Author: buwangyun <hnlg666@163.com> // +---------------------------------------------------------------------- // | Date: 2020-10-24 11:55:00 // +---------------------------------------------------------------------- namespace buwang\event; use think\facade\Config; use think\facade\Env; /** * 初始化配置信息 * */ class InitConfig { public function handle() { // 初始化常量 $this->initConst(); //初始化配置信息 $this->initConfig(); } /** * 初始化常量 */ private function initConst() { //定义租户应用支持端的类型,后续扩展字节跳动小程序,抖音小程序等 defined('BW_CLIENT_TYPE') or define('BW_CLIENT_TYPE', ['mini_program', 'app', 'h5', 'official' ,'pc', 'tt']); //定义bwsaas框架支持端的类型 defined('BW_SCOPES') or define('BW_SCOPES', array_merge(BW_CLIENT_TYPE,['member' ,'admin'])); //加载版本信息 defined('BW_VERSION') or define('BW_VERSION', Config::get('bwsaas.version')); //版本号如1.2.0 defined('BW_VERSION_NO') or define('BW_VERSION_NO', Config::get('bwsaas.version_no')); //版本号编码 defined('BW_VERSION_NAME') or define('BW_VERSION_NAME', Config::get('bwsaas.name')); //版本名称 //加载基础化配置信息 define('__ROOT__', str_replace(['/index.php', '/install.php'], '', request()->root(true))); define('__PUBLIC__', __ROOT__ . '/public'); define('__UPLOAD__', 'upload'); //简化路径分割符 !defined('DS') && define('DS', DIRECTORY_SEPARATOR); // 插件目录 define('ADDON_PATH', app()->getRootPath() . 'addons' . DS); //插件配置info.ini必须项 define('ADDON_INFO_TYPE', ['name', 'title', 'description', 'type', 'author', 'version', 'status']); //模板目录 public/templates/ define('TEMPLATE_PATH', app()->getRootPath() . 'public' . DS . 'templates' . DS); //页面不跳转参数 define('NOT_JUMP', md5(uniqid(microtime(true), true))); //伪静态模式是否开启 define('REWRITE_MODULE', true); // public目录绝对路径 define('PUBLIC_PATH', dirname(dirname(dirname(__FILE__))) . '/public/'); // 项目绝对路径 define('ROOT_PATH', dirname(dirname(dirname(__FILE__)))); //兼容模式访问 if (!REWRITE_MODULE) { define('ROOT_URL', request()->root(true) . '/?s='); } else { define('ROOT_URL', request()->root(true)); } //系统事件调用标识 define('CALL_ALL', md5(uniqid(microtime(true), true))); } /** * 初始化配置信息 */ private function initConfig() { $view_array = [ // 模板引擎类型使用Think 'type' => 'Think', // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法 'auto_rule' => 1, // 模板目录名 'view_dir_name' => 'view', // 模板后缀 'view_suffix' => 'html', // 模板文件名分隔符 'view_depr' => DIRECTORY_SEPARATOR, // 模板引擎普通标签开始标记 'tpl_begin' => '{', // 模板引擎普通标签结束标记 'tpl_end' => '}', // 标签库标签开始标记 'taglib_begin' => '{', // 标签库标签结束标记 'taglib_end' => '}', // 预先加载的标签库 'taglib_pre_load' => '', // 模板渲染缓存 'display_cache' => false, //是否开启模板编译缓存,设为false则每次都会重新编译 'tpl_cache' => false, //部署模式后改为true // 字符替换 'tpl_replace_string' => [ '__STATIC__' => Env::get('buwang.static_path', '/static'), '__MODULE__' => '/layui', ] ]; Config::set($view_array, 'view'); } }