文档目录
项目概述

简介

DouPHP 是一款基于 PHP 的企业级多端应用系统,采用 MVC 分层与模块化、插件化设计,内置 CMS 内容管理、电商交易、用户中心、营销工具(优惠券、分销等)、AI 创作助手、多端模板与小程序支持。系统提供前台站点、后台管理与开放 API 三端入口,适合企业官网建设、电商网站开发、内容管理平台与行业解决方案落地。

核心特性

  • 多端应用根目录:前台(front)、后台(admin)、API(api)三端独立入口、共享核心,互不污染
  • 模块化设计:40+ 官方模块按需安装,文章、产品、订单、会员、评论、预约、表单、投票等开箱即用
  • 微信小程序:内置 TypeScript 小程序源码(含 WeUI 组件库),与 API 端控制器一一对应
  • AI 能力:内置 AI 模块,内容模块可接入 AI 检索与生成,支持 GEO 生成式引擎优化
  • 支付与登录插件:微信支付、支付宝、PayPal、连连支付等支付插件,微信 / QQ / 微博第三方登录
  • 多语言:简体中文、繁体中文、英文三语言包,前台支持语言前缀路由(如 /en/article/1)
  • 安全机制:CSRF 自动校验、XSS 过滤、登录限流、后台权限分级、安全响应头、审计日志

多端应用根目录架构

DouPHP 采用清晰的多端应用根目录结构,每个目录都有明确的职责划分:

graph TB
A["DouPHP多端应用根目录"] --> B["前台 front<br/>面向用户的页面渲染与业务控制器"]
A --> C["后台 admin<br/>运营管理、数据维护、配置与审计"]
A --> D["接口 api<br/>对外暴露的 RESTful 能力"]
A --> E["核心框架 core<br/>路由、容器、ORM、文件系统、中间件"]
A --> F["配置 config<br/>数据库、模块开关、安全、AI等"]
A --> G["主题 theme / miniprogram<br/>前端模板与小程序代码"]
A --> H["插件 plugin<br/>支付、物流、第三方登录等可插拔能力"]
A --> I["存储 storage<br/>运行时缓存、锁与日志等"]

章节来源

  • index.php:1-126
  • core/bootstrap.php:1-180
  • config/config.php:1-53
  • config/module.php:1-132

多端入口设计

每个端点都有独立的入口文件和初始化流程:

前台入口 (index.php)

  • 处理语言前缀解析和路由分发
  • 支持 JSON 和 HTML 双模式响应
  • 统一的异常处理和错误渲染

后台入口 (admin/index.php)

  • 管理员权限验证和工作区隔离
  • 审计日志记录和 AI 创作工具栏注入
  • 后台专属的错误处理机制

API入口 (api/index.php)

  • RESTful API 服务提供
  • 统一的 API 响应格式和错误码
  • 请求限流和安全防护

章节来源

  • index.php:1-126
  • admin/index.php:1-102
  • api/index.php:1-73

核心组件

  • 路由与调度:统一入口解析语言前缀与 route 字符串,交由 DelegatingRouter 分派到具体控制器
  • 容器与服务:DI 容器单例,Facade 门面简化调用;按模块组织 Service/Model/Controller
  • ORM 与数据访问:统一 DB 配置与连接,模型支持字段映射、多语言、附件与列表预热
  • 中间件与安全:CSRF、权限、限流、安全头、全局异常处理与 JSON/HTML 双模式响应
  • 插件机制:支付、物流、社交登录等以 Provider/Service 形式接入,通过 manifest 声明
  • AI 能力:提示词工程、图像尺寸策略、批量生成与翻译,配置集中管理

章节来源

  • index.php:1-126
  • core/bootstrap.php:1-180
  • config/ai.php:1-177

架构总览

  • 请求进入对应端点的 index.php,完成环境检测、未安装跳转、常量定义、自动加载、容器与 Request 绑定
  • 各端 Init 启动后执行路由分发,返回 Response 或抛出异常由统一处理器输出
  • 控制器调用对应 Service,Service 组合 Model/ORM 与外部插件(如支付)
  • 模板渲染与静态资源由主题与 CDN/存储驱动共同完成
sequenceDiagram
participant U as "浏览器/客户端"
participant R as "端点入口 index.php"
participant B as "引导 bootstrap.php"
participant RT as "路由 Route"
participant C as "控制器 Controller"
participant S as "服务 Service"
participant DB as "数据库"
U->>R : HTTP 请求
R->>B : 初始化环境与容器
B-->>R : 就绪
R->>RT : 解析并分发
RT->>C : 调用控制器方法
C->>S : 执行业务逻辑
S->>DB : 读写数据
DB-->>S : 结果集
S-->>C : 业务结果
C-->>U : 视图/JSON 响应

图表来源

  • index.php:1-126
  • core/bootstrap.php:1-180

详细组件分析

多端基础控制器与职责

  • 前台 BaseController:负责页面渲染、会话、语言与通用参数,支持会员中心导航
  • 后台 BaseController:权限校验、工作区隔离、审计日志、AI 创作工具栏注入
  • API BaseController:鉴权、限流、统一响应格式、会员中心导航
classDiagram
class Front_BaseController {
+render()
+auth()
+lang()
+respond()
+buildLinkUserCenter()
}
class Admin_BaseController {
+checkPermission()
+auditLog()
+workspace()
+injectAiToolbar()
+layoutVars()
+respondDeleteResult()
}
class Api_BaseController {
+authenticate()
+throttle()
+jsonResponse()
+buildLinkUserCenter()
}

章节来源

  • front/controller/BaseController.php:1-134
  • admin/controller/BaseController.php:1-371
  • api/controller/BaseController.php:1-62

模块化架构与扩展机制

DouPHP 采用高度模块化的设计,支持40+官方模块按需安装和扩展:

模块类型

  • 栏目模块:带分类树,有分类列表页 + 详情页(product、article、doc、course等)
  • 简单模块:无分类树,单一实体或业务功能(order、user、comment、book等)

模块关联标记

  • link_user_center:接入会员中心
  • link_work_center:接入工作人员端
  • link_ai:接入AI能力
  • link_order_item:可下单购买

章节来源

  • config/module.php:1-132

AI 创作与配置

DouPHP 内置强大的 AI 创作能力,支持多种任务形态:

AI 功能特性

  • 提示词工程:system/instruction/labels/banner_styles 等集中配置
  • 图像尺寸策略:按模型族与协议默认值归一化,支持范围与预设
  • 任务形态:辅助撰写、润色、重写、翻译、批量生成与表单填充
  • GEO 优化:自动生成 llms.txt(AI 站点地图)与 Schema 结构化数据
flowchart TD
Inp["输入:站点信息+表单快照"] --> Sel["选择任务类型<br/>assist/polish/rewrite/translate/batch/fill"]
Sel --> Build["构建提示词<br/>注入 labels/instruction"]
Build --> Call["调用模型文本/图像"]
Call --> Out["输出:文案/图片/结构化字段"]

图表来源

  • config/ai.php:1-177

章节来源

  • config/ai.php:1-177

安全机制与防护

系统提供全面的安全防护机制:

安全防护特性

  • 可信代理:支持反向代理 IP 白名单配置
  • Host 验证:可信 Host 白名单,防止 Host 头注入
  • 安全响应头:X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy、HSTS
  • 会话硬化:HttpOnly、Secure、SameSite、严格模式
  • 限流保护:定向限流,防止暴力攻击

章节来源

  • config/security.php:1-88

支付插件体系

系统支持多种支付方式的插件化接入:

支持的支付方式

  • 微信支付、支付宝、PayPal、连连支付
  • 银行转账、货到付款、离线支付
  • 余额支付、Square、Stripe 等

插件架构

  • 统一的 Provider/Service 接口
  • manifest 配置文件声明能力
  • 后台可视化配置管理

章节来源

  • plugin/wxpay/WxpayProvider.php
  • plugin/alipay/AlipayProvider.php

依赖关系分析

  • 入口与引导:各端 index.php 依赖 bootstrap.php 完成环境、常量、自动加载与容器初始化
  • 配置依赖:config/config.php 提供数据库与路径常量;config/module.php 声明模块集合与可见性
  • 三端控制器均依赖各自 service 层,service 层再依赖 ORM/DB 与插件
  • 插件通过 Provider/Service 解耦,避免对核心代码的侵入
graph TB
X["各端 index.php"] --> Y["bootstrap.php"]
Y --> Z["config/config.php"]
Y --> M["config/module.php"]
X --> R["路由分发"]
R --> F["front/controller/*"]
R --> A["admin/controller/*"]
R --> AP["api/controller/*"]
F --> FS["front/service/*"]
A --> AS["admin/service/*"]
AP --> APS["api/service/*"]
FS --> DB["ORM/DB"]
AS --> DB
APS --> DB
PS["plugin/*"] -.-> FS
PS -.-> AS
PS -.-> APS

图表来源

  • index.php:1-126
  • core/bootstrap.php:1-180
  • config/config.php:1-53
  • config/module.php:1-132

章节来源

  • index.php:1-126
  • core/bootstrap.php:1-180
  • config/config.php:1-53
  • config/module.php:1-132

性能与扩展性

  • 列表预热:模型支持 prefetchers,批量预热 URL、语言与附件,减少 N+1 查询
  • 缓存与存储:Storage 抽象统一本地/云存储,降低 IO 成本
  • 路由与中间件:轻量路由与可插拔中间件,按需启用 CSRF、限流、权限
  • 插件化:支付、物流、社交登录等以插件形式扩展,不影响核心稳定性
  • 多语言与模板:语言包与主题分离,便于国际化与 UI 定制
  • 异步处理:支持队列任务和事件监听,提升系统响应性能

故障排查指南

  • 未安装跳转:当 storage/install.lock 不存在时,自动跳转到安装程序
  • 全局异常处理:根据 site.debug 与请求类型输出 HTML 调试页或 JSON 错误
  • 常见错误定位:查看错误日志与异常堆栈,结合模块路由与控制器逐步定位
  • 模块问题排查:检查 config/module.php 中的模块状态和依赖关系
  • AI 功能调试:查看 AI 配置和提示词设置,确认模型连接状态

章节来源

  • core/bootstrap.php:42-57
  • index.php:46-75

结论

DouPHP 以清晰的 MVC 分层、模块化与插件化架构,提供了从内容管理到电商交易、从用户运营到 AI 创作的完整能力。其多端应用根目录设计确保了良好的代码组织和维护性,而丰富的模块化和插件机制则为业务扩展提供了无限可能。系统的三端独立架构(前台、后台、API)既保证了各端点的专注性和独立性,又通过共享核心实现了代码复用和维护便利,使其适用于企业官网、电商平台与内容管理等多种场景。

附录:快速开始

环境要求

  • PHP:5.6 – 8.x(建议 PHP 8.x)
  • 数据库:MySQL 5.7+ 或兼容数据库
  • Web 服务器:Apache/Nginx,开启 URL 重写
  • 必需扩展:GD(图片处理)、MySQL(PDO/mysqli)、OpenSSL(支付与第三方登录)

安装步骤

  1. 下载源码:从 GitHub 或官方网站获取最新版本的 DouPHP
  2. 部署文件:将源码上传至 Web 服务器的根目录
  3. 访问安装:在浏览器中访问站点根目录,系统将自动跳转到安装向导
  4. 配置数据库:填写数据库主机、用户名、密码和表前缀
  5. 设置管理员:创建管理员账号和密码
  6. 完成安装:安装完成后会生成 storage/install.lock 文件

基本配置

  • 数据库配置:编辑 config/config.php 文件中的数据库连接信息
  • 模块管理:通过后台「模块管理」界面启用或禁用功能模块
  • 主题切换:在后台「主题管理」中选择合适的前台主题
  • 插件配置:在后台「插件管理」中配置支付、物流等第三方服务

开发指南

  • 新建模块:参考系统结构分析文档,在三端按约定创建 controller/service/model/route/request
  • 模板开发:后台模板位于 admin/view/<模块名>/*.htm,前台模板位于 theme/<主题名>/<模块名>.dwt
  • 编码规范:UTF-8 无 BOM、4 空格缩进、LF 换行,PHP 语法需兼容 5.6

章节来源

  • README.md:28-52
  • core/bootstrap.php:19-57
  • config/config.php:15-53
  • config/module.php:1-132
添加日期:2026-10-05