'🎨框架目录
.
├── app 应用目录
│ ├── controller 控制器目录
│ ├── model 模型目录
│ ├── view 视图目录
│ ├── middleware 中间件目录
│ │ └── StaticFile.php 自带静态文件中间件
│ ├── process 自定义进程目录
│ │ ├── Http.php Http进程
│ │ └── Monitor.php 监控进程
│ └── functions.php 业务自定义函数写到这个文件里
├── config 配置目录
│ ├── app.php 应用配置
│ ├── autoload.php 这里配置的文件会被自动加载
│ ├── bootstrap.php 进程启动时onWorkerStart时运行的回调配置
│ ├── container.php 容器配置
│ ├── dependence.php 容器依赖配置
│ ├── database.php 数据库配置
│ ├── exception.php 异常配置
│ ├── log.php 日志配置
│ ├── middleware.php 中间件配置
│ ├── process.php 自定义进程配置
│ ├── redis.php redis配置
│ ├── route.php 路由配置
│ ├── server.php 端口、进程数等服务器配置
│ ├── view.php 视图配置
│ ├── static.php 静态文件开关及静态文件中间件配置
│ ├── translation.php 多语言配置
│ └── session.php session配置
├── plugin 插件开发目录(所有程序均在此开发)
├── public 静态资源目录
├── runtime 应用的运行时目录,需要可写权限
├── start.php 服务启动文件
├── vendor composer安装的第三方类库目录
└── support 类库适配(包括第三方类库)
├── Request.php 请求类
├── Response.php 响应类
└── bootstrap.php 进程启动后初始化脚本
🏹插件目录
plugin/
└── foo
├── api 提供给其他插件的接口(非网络请求)
├── app 应用代码目录
│ ├── controller 控制器目录
│ │ └── IndexController.php 默认控制器
│ ├── event 插件事件目录(框架自动加载)
│ ├── exception 插件异常接管类
│ │ └── Handler.php 插件默认异常(默认即可)
│ ├── functions.php 插件函数库
│ ├── middleware 插件全局中间件
│ ├── model 插件模型目录
│ ├── service 业务代码目录
│ └── view 插件视图目录
│ └── index 对应Index控制器
│ └── index.html 默认视图
├── config 插件配置目录
│ ├── app.php 插件核心配置
│ ├── autoload.php 加载其他php文件配置
│ ├── container.php 容器配置
│ ├── exception.php 插件异常配置类
│ ├── log.php 插件日志类
│ ├── menu.php 后台菜单
│ ├── middleware.php 插件中间件
│ ├── process.php 插件进程类
│ ├── redis.php redis配置
│ ├── route.php 插件路由
│ ├── static.php 静态文件配置
│ ├── translation.php 多语言
│ └── view.php 视图模板配置
│ └── xbcode.php xbcode官方配置
├── public 静态资源(可外部访问)
└── setting 插件业务配置目录
📂关于插件中的api目录
每个插件里有一个api目录,如果你的应用提供了一些内部接口给其它应用调用,需要将接口放在api目录。
注意,这里所说的接口是函数调用的接口,非网络调用的接口。
例如邮件插件在 plugin/email/api/Email.php 提供了一个Email::send()接口,用于给其它应用调用发邮件。
另外 plugin/email/api/Install.php 是自动生成的,用来让插件市场调用执行安装或卸载操作。