参考资料

  1. Laravel和ThinkPHP对比
  2. thinkphp框架怎么用
  3. thinkphp框架文件
  4. thinkphp框架的特点
  5. Thinkphp框架
  6. thinkphp框架搭建
  7. thinkphp框架介绍
  8. vue3官方中文文档

ThinkPHP框架结构主要分为以下几个核心部分:

  1. 目录结构

  • application: 应用目录

    • controller: 控制器目录

    • model: 模型目录

    • view: 视图目录

    • config: 应用配置目录

  • public: WEB部署目录

    • static: 静态资源目录

    • index.php: 入口文件

  • thinkphp: 框架核心目录

    • library: 核心类库

    • lang: 语言包

    • tpl: 系统模板

  • runtime: 运行时目录

  • vendor: 第三方类库目录

  1. 核心组件

  • 控制器(Controller): 处理请求逻辑

  • 模型(Model): 数据操作层

  • 视图(View): 页面展示层

  • 路由(Route): URL解析和路由

  • 配置(Config): 配置管理

  • 请求(Request): 请求对象

  • 响应(Response): 响应对象

  • 数据库(Db): 数据库操作

  • 缓存(Cache): 缓存管理

  1. 请求流程

  1. 入口文件接收请求

  2. 路由解析URL

  3. 加载应用配置

  4. 实例化控制器

  5. 调用对应操作方法

  6. 模型处理数据

  7. 视图渲染输出

  8. 返回响应

  1. 配置文件

  • 应用配置: application/config.php

  • 数据库配置: application/database.php

  • 路由配置: application/route.php

  • 扩展配置: application/extra/

  1. 扩展机制

  • 中间件: 请求预处理

  • 行为扩展: 钩子机制

  • 命令行: 控制台应用

  • 服务提供者: 依赖注入

  1. 分层设计

  • 应用层: 业务逻辑处理

  • 服务层: 通用服务封装

  • 数据访问层: 数据库操作

  • 接口层: API输出

  1. 自动加载

  • 类库自动加载

  • Composer支持

  • 命名空间映射

  1. 安全机制

  • 输入过滤

  • 表单令牌

  • SQL防注入

  • XSS防护

  1. 辅助功能

  • 验证器

  • 分页

  • 文件上传

  • 日志记录

  • 多语言

  1. 命令行工具

  • 生成控制器

  • 生成模型

  • 数据库迁移

  • 单元测试