🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
为了方便引入公共资源,我们可以为项目先定义一些模板变量 application/admin/config文件中 ~~~ <?php return [ // +---------------------------------------------------------------------- // | 模板设置 // +---------------------------------------------------------------------- 'template' => [ // 模板引擎类型 支持 php think 支持扩展 'type' => 'Think', // 模板路径 'view_path' => '', // 模板后缀 'view_suffix' => 'html', // 模板文件名分隔符 'view_depr' => DS, // 模板引擎普通标签开始标记 'tpl_begin' => '{', // 模板引擎普通标签结束标记 'tpl_end' => '}', // 标签库标签开始标记 'taglib_begin' => '{', // 标签库标签结束标记 'taglib_end' => '}', ], // 视图输出字符串内容替换 'view_replace_str' => [ '__PUBLIC__'=>'/public/', '__ADMIN__' => 'http://localhost/thinkphp_5/public/static/admin', ], // 默认跳转页面对应的模板文件 'log' => [ // 日志记录方式,内置 file socket 支持扩展 'type' => 'File', // 日志保存目录 'path' => LOG_PATH, // 日志记录级别 'level' => [], ], // +---------------------------------------------------------------------- // | Trace设置 开启 app_trace 后 有效 // +---------------------------------------------------------------------- 'trace' => [ // 内置Html Console 支持扩展 'type' => 'Html', ], // +---------------------------------------------------------------------- // | 缓存设置 // +---------------------------------------------------------------------- 'cache' => [ // 驱动方式 'type' => 'File', // 缓存保存目录 'path' => CACHE_PATH, // 缓存前缀 'prefix' => '', // 缓存有效期 0表示永久缓存 'expire' => 0, ], // +---------------------------------------------------------------------- // | 会话设置 // +---------------------------------------------------------------------- 'session' => [ 'id' => '', // SESSION_ID的提交变量,解决flash上传跨域 'var_session_id' => '', // SESSION 前缀 'prefix' => 'think', // 驱动方式 支持redis memcache memcached 'type' => '', // 是否自动开启 SESSION 'auto_start' => true, ], // +---------------------------------------------------------------------- // | Cookie设置 // +---------------------------------------------------------------------- 'cookie' => [ // cookie 名称前缀 'prefix' => 'cms', // cookie 保存时间 'expire' => 0, // cookie 保存路径 'path' => '/', // cookie 有效域名 'domain' => '', // cookie 启用安全传输 'secure' => false, // httponly设置 'httponly' => '', // 是否使用 setcookie 'setcookie' => true, ], //分页配置 'paginate' => [ 'type' => 'bootstrap', 'var_page' => 'page', 'list_rows' => 15, ], ]; ~~~ 在这里,我们对模板的设置做了一些定义。分别为项目定义了__ADMIN__,__ROOT__,__PUBLIC. 在根目录下admin.php中可以这样定义 ~~~ <?php // [ 应用入口文件 ] // 开启调试模式 define('APP_DEBUG', true); // 定义项目路径 define('APP_PATH', __DIR__ . '/application/'); // 引入系统初始化文件 require __DIR__ . '/init.php'; // 加载框架基础文件 require __DIR__ . '/thinkphp/base.php'; //引入初始化文件 $init = new Inits(); // 绑定当前入口文件到admin模块 \think\Route::bind('admin'); // 关闭admin模块的路由 \think\App::route(false); // 执行应用 \think\App::run()->send(); ~~~ 可以设置一个init.php作为一个项目的初始化文件,为项目的入口做定义 ~~~ <?php class Inits { public function initialize() { if(!defined('__ROOT__')) { $_root = rtrim(dirname(_PHP_FILE_),'/'); define('__ROOT__', (($_root=='/' || $_root=='\\')?'':$_root)); } } } ~~~