sumedia-wordpress / base
Sumedia 插件所需的基本组件
0.2.2
2019-12-15 14:07 UTC
README
这个 WordPress 插件将提供基本功能,这些功能将被用于我所有的插件中。因此,我无需再次多次编写它。
意图是什么?
因为我想要开始编写 WordPress 插件和主题,并决定不要在菜单中充斥着各种大小插件,这个插件将在插件部分下的一个菜单点提供已安装插件的概述。
我将支持一些在我的整个项目中使用的基类。
组件是什么,它们的意图是什么?
让我想要编程 WordPress 的第一件事是,没有命名空间用于变量和函数。即使我在插件主脚本中定义一个简单的变量,它也会在程序中存在。这就是为什么我通常以一个函数开始我的插件,这个函数应该(如果不需要另一种方式)是唯一一个会被我的插件存储在全局作用域中的函数。
因此,我决定,因为我熟悉它,用面向对象编程(OOP)来编写程序。所有数据和函数都将封装在这个类中。
我认为,这是可以理解的。
在这一过程中遇到的下一个问题就是 ... 自动加载。
自动加载器
我的自动加载器允许我加载我的类。每个插件都可以使用它的插件名称注册类路径,自动加载器将自动找到文件 - 因此文件名和类名必须遵循特定的规则。
注册表
我不知道我是否真的需要它,但我喜欢它简单封装数据和对象的概念。与全局作用域变量相比,处理这个类要容易得多。
视图
我想在视图网站上管理一些渲染内容。我将提供一些视图脚本以及视图模板。将它们组合起来,并告诉 WordPress 如何渲染。
事件类
我怀疑,可能是因为向后兼容性问题,WordPress 插件钩子不支持闭包。自 5.3.0 版本开始支持。我的第一个实现是一个事件管理器,但这并不适合整个系统。我决定将其拆分成支持闭包的正常类可调用作为简单事件的点。没有函数在全局空间中飘浮。