微擎插件手册
微擎的插件是合理添加功能的最基本原子,本手册是本人自行摸索而来,如有不严谨之处,请在我的博客1下指正。
当面对新的功能需求,新增插件往往比修改插件更重,却能保持更好的正交性、健壮性,令代码变得优雅。
流程
Step-1:将干净的微擎插件文件夹[^2],复制到uwa\addons\app\plugin\
Step-2:删除不需要的文件夹、文件。修正根目录下,选择器、配置、模型、处理器的类名及相关名称 (从 PluginName
/ pluginName
更正为当前插件名称,注意驼峰式语法的大小写开头)
Step-3:按设计,将所需页面加入插件文件夹中,规则:选择器的方法 指向 控制器的文件 指向 控制器末尾的include $this->template("test");
,test.html放置在视图文件夹。
Step-4:开始编写代码。
Step-5:输入URL并测试(xxxxx/app/index.php?i=?&c=entry&method=控制器名&p=插件名&m=ewei_shop&do=plugin)
文档
以下为详细参考文档。
文件及目录结构
| plugin
| - core // 控制器,MVC的C
| - - mobile // 移动端,主要面向用户
| - - web // Web端,主要面向管理者
| - [static] // 资源,放置静态资源的文件夹
| - - [images|js|etc.] // 具体资源文件夹
| - [template] // 视图,MVC的V
| - [index.html] // web端 | 默认显示文件
| - - [mobile] // 移动端
| - - - [default] // 显示默认
| - - - - [common] // 页眉页脚等文件
| - - - - [index.html] // 默认显示文件
| - processor.php // 消息处理器,继承PluginProcessor,一般包含respond、responseEmpty两个函数,负责消息。
| - [model.php] // 模型,MVC的M,继承PluginModel。
| - [config.php] // 配置,版本号、插件ID等内容
| - [web.php] // 选择器(web端),辅助路由指向
| - [mobile.php] // 选择器(移动端),辅助路由指向
举例用法
model.php :负责数据处理,也就是MVC中的M(model),当我们在该文件内创建了一个新方法,按功能将其命名为doCheck(参数)
,接下来在控制器文件中,以$this->model->doCheck(参数)
的方式来调用。
简单规范
追求简单易懂的规范,在尽力降低熵增的同时,最大化程序开发团队的创造力。
关于文件
如果你的控制器名为mission,请尽可能的让视图名也保持一致,如果遇到了强制的业务需求,也请加上注释。
毕竟,index.php -> center.html
、index.php -> result.html
,这是相当尴尬的情况,类似于TP框架的A/B/C/etc.函数,如果你没用过这些函数,你能通过:A函数 这个名称,来知晓它背后的意义吗?
- 为防止部分蜘蛛抓取页面不全,或者是自作聪明的Coder清除掉所有的链接,特在此加入博客网址:blog.youkuaiyun.com/m18779186977。
[^2]: 为公司整理的,包含基本示例的Plugin文件夹,各位可以参照文件及结构目录这一节,自行整理。 ↩