Wordpress插件架构设计

插件目录结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
./htranslate
├── db/  
│   ├── migrations/   
│   │   └── xxxxxx_migration.php  //数据库迁移文件
├── inc/  
│   ├── Api/  //WordPress提供的API 
│   │   ├── CustomizeApi.php  // 主题自定义API
│   │   └── SettingsApi.php  // 后台界面自定义API
│   ├── Base/  
│   │   ├── BaseAdminPage.php  // WordPress后台页面基础类
│   │   └── Common.php  // 插件公共信息
│   ├── Exceptions/  // 异常类
│   │   ├── InvalidArgumentException.php
│   ├── Handlers/  
│   │   ├── Activate.php  // 插件启动执行脚本
│   │   └── Deactivate.php  // 插件禁用执行脚本
│   ├── Helpers/  
│   │   ├── ArrayHelper.php  // 数组操作助手类
│   │   ├── AssetsHelper.php  // Assets资源路径助手类
│   │   ├── DomHelper.php  // DOM助手类
│   │   └── helpers.php  // 插件公共方法
│   ├── Http/  
│   │   ├── Controllers
│   │   │   ├── BaseController.php  // 控制器基类
│   │   │   ├── CommonController.php  // 公共操作
│   │   │   ├── ImproveController.php  // 翻译改进
│   │   │   ├── PageController.php  // 后台页面
│   │   │   └── TestController.php  // 测试操作
│   │   ├── Filters //HTTP过滤器
│   │   │   ├── AuthFilter.php  // 授权过滤器
│   │   │   ├── FilterInterface.php  
│   │   │   └── FilterPipeline.php // 过滤器管道
│   │   ├── Views
│   │   │   ├── Vo/            // ValueObject用于规范化输出结果
│   │   │   ├── HttpView.php  // 普通页面视图
│   │   │   ├── JsonViewTrait.php  // Json视图
│   │   │   └── TeamoneViewTrait.php  // 霆万模板引擎视图
│   ├── Infrastructure/   // 基础设施层
│   │   │   ├── Components/    // 通用组件
│   │   │   ├── Models/        // 数据表模型
│   │   │   ├── Providers/     // 服务提供者,用于扩展第三方服务支持
│   │   │   │   ├── HoTemplateServiceProvider.php  // 引入Ho模板引擎
│   │   │   └── Repositories/     // 仓储层
│   ├── Services/   // 应用服务层
│   ├── WPProviders/   // WP功能服务提供者
│   │   │   ├── AddAdminMenuPage.php    // 注册后台管理菜单
│   │   │   ├── RegisterAdminScripts.php    // 加载后台静态资源文件
│   │   │   └── RegisterRoute.php     // 注册WP路由
│   └── Pages/  // WP后台菜单对应的页面
│       ├── Dashboard.php  // 首页
│       ├── Settings.php  // 设置  
│       └── Hosting.php   // 语言托管
├── resources/  // 静态资源目录
│   ├── css/  
│   └── js /  
├── templates/  // 页面模板文件目录
├── htranslate.php   // 插件入口文件
└── composer.json

架构设计图

wordpress插件架构设计图.png
使用 Hugo 构建
主题 StackJimmy 设计