https://www.zibll.com/forum-post/40009.html
之前的优化插件虽然说是模块化,其实还是没有完全达成。includes/admin.php为总设置选项,代码已经差不多2000行,每次添加设置选项,都得找好半天,然后有可能又是一个不注意写串行了,括号没有封闭,会导致整个插件设置崩溃….
然后我就在想,能不能把插件设计成真正的模块化,就像之前兴起一阵子的“模块化手机”一样,想要什么就热插拔什么?
于是,这个重构的插件雏形完成了!
也重构了一下插件的UI,插件的开关从之前的选择框改为了滑块按钮。



这个插件现在最大的亮点就是“热插拔”:
1.核心逻辑:文件名即关联,插件内设定两个平行的文件夹:
2.modules/configs/:存放设置文件(决定后台显示什么Tab,什么开关)。
3.modules/functions/:存放纯功能代码(实际干活的PHP代码)
加载器的工作原理:程序启动时,自动扫描configs文件夹。
如果发现了header-clean.php,系统自动在后台创建一个叫”头部清理”的Tab。
- 同时,系统自动去
functions文件夹寻找同名的header-clean.php并加载它。 - 热插拔特性:只要这两个文件夹里都有同名文件,功能自动生效;删掉配置文件的瞬间,Tab自动消失。

这样一来,添加插件功能和修改就会变得很简单。可以很简单的添加这个优化插件的各种功能!
新的重构版本写完后,我会把之前的版本开源到GitHub(最近我还完成了个时光胶囊项目也开源到GitHub了)
下面是这个插件的第一个版本,免费送给大家
插件目前还仅仅是个框架,代码里面也预制了未来要用的一些样式,有兴趣的可以在我这个框架基础上继续开发。插件完成后我会发布新帖子更新!(插件在线更新功能没写,现在就是个演示)
文件夹中已经有几个tab的例子,分别是第一个控制面板,第二个输出精简,和第三个更新。只需要按照第二个的样子写一个,就会多出一个tab。
不知道我这个设计思路怎么样?大家提提建议,但是这个插件最近没时间写,我在外省实习:(







