零基础教你如何开发webman应用插件
0X03 应用目录机构
plugin/
└── dingdingtalk
│ ├── api
│ │ └── Install.php
│ ├── app
│ │ ├── controller
│ │ │ └── IndexController.php
│ │ ├── functions.php
│ │ ├── middleware
│ │ ├── model
│ │ └── view
│ │ └── index
│ ├── config
│ │ ├── app.php
│ │ ├── autoload.php
│ │ ├── container.php
│ │ ├── database.php
│ │ ├── exception.php
│ │ ├── log.php
│ │ ├── menu.php
│ │ ├── middleware.php
│ │ ├── process.php
│ │ ├── redis.php
│ │ ├── route.php
│ │ ├── static.php
│ │ ├── thinkorm.php
│ │ ├── translation.php
│ │ └── view.php
│ └── public
我们看到一个应用插件有着与webman相同的目录结构及配置文件,实际上开发体验与开发webman普通应用基本没有区别。插件目录及命名遵循PSR4
规范,因为插件都放置于plugin
目录下,所以命名空间都以plugin
开头,例如:plugin\dingdingtalk\app\controller\UserController
。
关于
api 目录
每个插件里有一个api
目录,如果你的应用提供了一些内部接口给其它应用调用,需要将接口放在api
目录。注意,这里所说的接口是函数调用的接口,非网络调用的接口。
例如:邮件插件在plugin/email/api/Email.php
提供了一个Email::send()
接口,用于给其它应用调用发邮件。
另外
plugin/dingdingtalk/api/Install.php
是自动生成的,用来让webman-admin
插件市场调用执行安装或卸载操作