🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 后台管理 >[danger] 1. 将TP5.0放入微擎模块 + 使用 comopser 下载 TP5.0 的最新版 ``` composer create-project topthink/think=5.0.* ``` + 将 tp 框架根目录下的所有内容拷贝到模块根目录 ![](https://img.kancloud.cn/bb/c1/bbc1ef565619fdef0543001c696ed016_279x598.png) >[danger] 2. 修改TP数据配置文件,引入微擎数据库配置 + application/database.php ```php <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- // 引用微擎数据库进行操作 require IA_ROOT . '/data/config.php'; return [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => $config['db']['master']['host'], // 数据库名 'database' => $config['db']['master']['database'], // 用户名 'username' => $config['db']['master']['username'], // 密码 'password' => $config['db']['master']['password'], // 端口 'hostport' => $config['db']['master']['port'], // 连接dsn 'dsn' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => $config['db']['master']['charset'], // 数据库表前缀 'prefix' => $config['db']['master']['tablepre'], // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 自动读取主库数据 'read_master' => false, // 是否严格检查字段是否存在 'fields_strict' => true, // 数据集返回类型 'resultset_type' => 'array', // 自动写入时间戳字段 'auto_timestamp' => false, // 时间字段取出后的默认时间格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, // Builder类 'builder' => '', // Query类 'query' => '\\think\\db\\Query', // 是否需要断线重连 'break_reconnect' => false, // 断线标识字符串 'break_match_str' => [], ]; ``` >[danger] 3. 修改TP默认模块为 admin(默认是index) + application/config.php ```php // 默认模块名 'default_module' => 'admin', ``` >[danger] 4. 业务菜单重定向到 TP + 修改模块下的 site.php 文件 ``` public function __call($name, $arguments) { require __DIR__ . '/public/index.php'; } ``` + 点击此处跳转到TP ![](https://img.kancloud.cn/5d/62/5d621f03b474ab08c0cc0e3a556e0c8d_479x498.png) + 修改TP默认的入口文件 public/index.php ```php <?php namespace think; // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); #################### 新增内容 #################### global $_W; if (!empty($_W)) { //设置头部,防止跨域 header("Access-Control-Allow-Origin:*"); //设置模块名称 defined('MODULE_NAME') or define('MODULE_NAME', $_GPC['m']); defined('WEB_PATH') or define( 'WEB_PATH' , __DIR__ . '/'); // 读取默认模块、控制器、方法 // module=admin&contro=user&action=name $config = require APP_PATH . 'config.php'; $module = isset($_GET['module']) ? $_GET['module'] : $config['default_module']; $contro = isset($_GET['contro']) ? $_GET['contro'] : $config['default_controller']; $action = isset($_GET['action']) ? $_GET['action'] : $config['default_action']; // 绑定方法 define('BIND_MODULE', "{$module}/{$contro}/{$action}"); } #################### 新增内容 / #################### // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; ``` ## 小程序接口 ``` http://me.cy/app/index.php?c=entry&a=wxapp&i=4&m=lingchi\_bn&do=member&action=goods ``` >[danger] 1. 修改模块根目录下的 wxapp.php ``` public function __call($name, $arguments) { require __DIR__ . '/public/api.php'; } ``` >[danger] 2. 新增用于小程序接口的TP入口文件 api.php + public/index.php 另存为 public/api.php,api.php 文件内容如下 ```php <?php // [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); #################### 新增内容 #################### // 当前文件名 api $mobule = substr(basename(__FILE__), 0, strrpos(basename(__FILE__), '.') ); global $_W; if (!empty($_W)) { // 路由绑定 // 绑定到模块控制器方法 $controller = ucfirst(substr($name, 6)); $action = $_GET['action']; if (empty($controller) || empty($action)) { die(json_encode(compact('controller', 'action'), JSON_UNESCAPED_UNICODE)); } define('BIND_MODULE', "{$mobule}/{$controller}/{$action}"); } else { // 绑定模块 define('BIND_MODULE', $mobule); } #################### 新增内容 / #################### // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; ```