# tp6-shop **Repository Path**: chenbool/tp6-shop ## Basic Information - **Project Name**: tp6-shop - **Description**: tp6-shop - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-24 - **Last Updated**: 2026-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ThinkPHP 6.0 电商项目基础模板 =============== > 基于 ThinkPHP 6.0 框架构建的电商项目基础模板,运行环境要求 PHP 7.1+。 ## 项目简介 本项目是基于 ThinkPHP 6.0 框架的标准应用模板,采用 PHP 7.1+ 强类型(严格模式)开发,遵循 PSR 规范。项目集成了 ThinkORM 数据库 ORM 组件和 ThinkView 模板引擎,为电商类应用提供了完善的基础架构。 项目默认包含完整的 MVC 架构,提供了控制器基类、异常处理、请求对象等基础组件,支持快速开发 Web 应用。 ## 技术栈 | 组件 | 版本 | 说明 | |------|------|------| | 框架 | ThinkPHP 6.0.* | 核心框架 | | PHP | >= 7.1.0 | 服务器端脚本 | | 数据库ORM | ThinkORM 2.0.* | 数据库对象映射 | | 模板引擎 | ThinkView 1.0 | 模板渲染引擎 | | 调试工具 | Symfony Var-Dumper | 变量调试输出 | ## 目录结构 ``` tp6-shop/ ├── app/ # 应用目录 │ ├── controller/ # 控制器层 │ │ └── Index.php # 默认首页控制器 │ ├── BaseController.php # 控制器基类 │ ├── ExceptionHandle.php # 异常处理类 │ ├── Request.php # 请求对象类 │ ├── common.php # 公共函数文件 │ ├── event.php # 事件定义文件 │ ├── middleware.php # 中间件配置 │ └── provider.php # 容器服务提供者 ├── config/ # 配置文件目录 │ ├── app.php # 应用配置 │ ├── cache.php # 缓存配置 │ ├── console.php # 控制台配置 │ ├── cookie.php # Cookie配置 │ ├── database.php # 数据库配置 │ ├── filesystem.php # 文件存储配置 │ ├── lang.php # 语言配置 │ ├── log.php # 日志配置 │ ├── route.php # 路由配置 │ ├── session.php # Session配置 │ ├── template.php # 模板配置 │ └── trace.php # 页面Trace配置 ├── public/ # Web 入口目录 │ ├── static/ # 静态资源目录 │ ├── .htaccess # Apache伪静态配置 │ ├── favicon.ico # 网站图标 │ ├── index.php # 入口文件 │ ├── robots.txt # 搜索引擎爬虫规则 │ └── router.php # 路由解析 ├── route/ # 路由定义目录 │ └── app.php # 应用路由定义 ├── view/ # 视图目录 │ └── README.md # 视图说明 ├── runtime/ # 运行时目录(日志、缓存等) ├── extend/ # 扩展类库目录 ├── .example.env # 环境变量示例文件 ├── .gitignore # Git忽略配置 ├── .travis.yml # CI配置文件 ├── build.example.php # 自动生成类库映射文件 ├── composer.json # 依赖管理配置文件 ├── LICENSE.txt # 许可证文件 ├── README.md # 项目说明文件 └── think # 命令行入口脚本 ``` ## 核心文件说明 ### 入口文件 - `public/index.php` - Web 应用入口文件,负责加载自动加载文件、启动应用、 处理请求并输出响应 - `think` - 命令行入口脚本,用于执行 ThinkPHP 命令行指令 ### 应用核心 - `app/BaseController.php` - 所有控制器的基类,提供 $request、$app 对象和批量验证功能 - `app/ExceptionHandle.php` - 全局异常处理类,统一捕获和处理应用异常 - `app/Request.php` - 请求对象类扩展,可以添加全局请求参数过滤等逻辑 ### 配置文件详解 #### config/database.php - 数据库配置 ```php // 数据库类型(支持 mysql、sqlite、pgsql、sqlsrv 等) 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名称 'database' => 'test', // 用户名 'username' => 'root', // 密码 'password' => '', // 端口 'hostport' => '3306', // 字符集 'charset' => 'utf8', // 表前缀 'prefix' => 'tp_', // 是否开启调试模式 'debug' => true, ``` #### config/cache.php - 缓存配置 ```php // 默认缓存驱动(file、redis、memcache、memcached、sqlite) 'default' => 'file', // 缓存有效期 0表示永久缓存 'expire' => 0, // 缓存前缀 'prefix' => '', ``` #### config/session.php - 会话配置 ```php // Session名称 'name' => 'PHPSESSID', // 驱动方式(file、redis、memcache、memcached) 'type' => 'file', // 过期时间(秒),0表示浏览器关闭过期 'expire' => 1440, // 前缀 'prefix' => 'think', ``` #### config/template.php - 模板配置 ```php // 模板引擎类型 'type' => 'Think', // 模板后缀 'view_suffix' => 'html', // 模板引擎标签开始标记 'tpl_begin' => '{', // 模板引擎标签结束标记 'tpl_end' => '}', // 模板路径 'view_path' => '', // 模板基础路径 'view_base' => '', ``` #### config/app.php - 应用配置 ```php // 应用地址 'app_host' => '', // 是否启用路由 'with_route' => true, // 是否启用事件 'with_event' => true, // 默认应用 'default_app' => 'index', // 默认时区 'default_timezone' => 'Asia/Shanghai', // 异常页面的模板文件 'exception_tmpl' => app()->getThinkPath() . 'tpl/think_exception.tpl', // 错误显示信息(非调试模式有效) 'error_message' => '页面错误!请稍后再试~', // 显示错误信息 'show_error_msg' => false, ``` ## 环境变量配置 项目使用环境变量(.env 文件)管理敏感配置,配置文件位于项目根目录。 ### .example.env 文件内容示例 ```env # 开启调试模式 APP_DEBUG = true # 应用配置 [APP] DEFAULT_TIMEZONE = Asia/Shanghai # 数据库配置 [DATABASE] TYPE = mysql HOSTNAME = 127.0.0.1 DATABASE = test USERNAME = root PASSWORD = HOSTPORT = 3306 CHARSET = utf8 DEBUG = true # 语言配置 [LANG] default_lang = zh-cn ``` ### 配置说明 | 配置项 | 说明 | |--------|------| | APP_DEBUG | 调试模式开关,true 时显示详细错误信息 | | DEFAULT_TIMEZONE | 默认时区设置 | | DATABASE.TYPE | 数据库类型 | | DATABASE.HOSTNAME | 数据库服务器地址 | | DATABASE.DATABASE | 数据库名称 | | DATABASE.USERNAME | 数据库用户名 | | DATABASE.PASSWORD | 数据库密码 | | DATABASE.HOSTPORT | 数据库端口 | | DATABASE.CHARSET | 数据库字符集 | | DATABASE.DEBUG | 数据库调试模式 | | DEFAULT_LANG | 默认语言包 | ## 路由说明 项目默认路由定义在 `route/app.php` 文件中: ```php // 定义路由 Route::get('think', function () { return 'hello,ThinkPHP6!'; }); // 路由到控制器方法 Route::get('hello/:name', 'index/hello'); ``` ### 路由规则 - `Route::get()` - GET 请求路由 - `Route::post()` - POST 请求路由 - `Route::put()` - PUT 请求路由 - `Route::delete()` - DELETE 请求路由 - `Route::any()` - 任意请求方式路由 ### 路由参数 - `:name` - 动态参数,传递给控制器方法 - `?name=value` - QueryString 参数 ## 中间件说明 中间件配置文件位于 `app/middleware.php`,目前项目默认未启用全局中间件。 ### 可用的内置中间件 ```php // 全局请求缓存 \think\middleware\CheckRequestCache::class, // 多语言加载 \think\middleware\LoadLangPack::class, // Session初始化 \think\middleware\SessionInit::class, // 页面Trace调试 \think\middleware\TraceDebug::class, ``` ### 自定义中间件 在 `app/middleware/` 目录下创建中间件文件: ```php [ 'AppInit' => [], 'HttpRun' => [], 'HttpEnd' => [], ], ``` ## 主要特性 - 采用 `PHP7` 强类型(严格模式) - 支持更多的 `PSR` 规范 - 原生多应用支持 - 更强大和易用的查询 - 全新的事件系统 - 模型事件和数据库事件统一纳入事件系统 - 模板引擎分离出核心 - 内部功能中间件化 - SESSION/Cookie 机制改进 - 对 Swoole 以及协程支持改进 - 对 IDE 更加友好 - 统一和精简大量用法 ## 环境要求 | 环境 | 要求 | |------|------| | PHP | >= 7.1.0 | | Composer | 最新版 | | MySQL | 5.5+ | | 扩展 | PDO、MBSTRING、JSON | ## 安装 1. **安装依赖包** ```bash composer install ``` 2. **配置环境变量** ```bash # 复制环境变量示例文件 copy .example.env .env ``` 3. **修改数据库配置** 根据实际情况修改 `.env` 文件中的数据库配置: ```env APP_DEBUG = true [APP] DEFAULT_TIMEZONE = Asia/Shanghai [DATABASE] TYPE = mysql HOSTNAME = 127.0.0.1 DATABASE = your_database_name USERNAME = your_username PASSWORD = your_password HOSTPORT = 3306 CHARSET = utf8 DEBUG = true [LANG] default_lang = zh-cn ``` 4. **创建数据库** 在 MySQL 中创建对应的数据库: ```sql CREATE DATABASE test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ``` 5. **启动服务** ```bash # 开发环境启动(推荐) php think run # 或者使用 PHP 内置服务器 php -S 127.0.0.1:8000 -t public/ ``` ## 常用命令 | 命令 | 说明 | |------|------| | `php think run` | 启动开发服务器 | | `php think list` | 查看所有可用命令 | | `php think clear` | 清除缓存 | | `php think build` | 自动生成类库映射 | | `php think make:controller` | 创建控制器 | | `php think make:model` | 创建模型 | | `php think make:middleware` | 创建中间件 | ## 开发规范 ### 控制器规范 - 控制器类以 `Controller` 结尾 - 继承 `app\BaseController` 基类 - 方法返回值为响应对象 ### 模型规范 - 模型类放置在 `app/model/` 目录 - 模型名与数据表名对应(可配置前缀) - 使用 ThinkORM 进行数据库操作 ### 视图规范 - 视图文件放置在 `view/` 目录 - 模板后缀为 `.html` - 目录结构对应控制器名 ### 命名规范 - 类名:驼峰命名(首字母大写) - 方法名:驼峰命名(首字母小写) - 变量名:驼峰命名或下划线命名 - 数据库表名/字段名:下划线命名(小写) ## 文档 - [ThinkPHP 6.0 完全开发手册](https://www.kancloud.cn/manual/thinkphp6_0/content) - [ThinkPHP 官方社区](http://www.thinkphp.cn/) - [ThinkPHP GitHub](https://github.com/top-think/framework) ## 参与开发 请参阅 [ThinkPHP 核心框架包](https://github.com/top-think/framework)。 ## 版权信息 ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 本项目包含的第三方源码和二进制文件之版权信息另行标注。 版权所有Copyright © 2006-2019 by ThinkPHP (http://thinkphp.cn) All rights reserved。 ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 更多细节参阅 [LICENSE.txt](LICENSE.txt)