eabay / oow
面向对象的方法进行 WordPress 插件开发
Requires
- php: >=5.3.2
- dflydev/dot-access-data: ~1.0
- doctrine/annotations: 1.*
This package is not auto-updated.
Last update: 2024-09-14 12:46:44 UTC
README
Oow 是一个库,包含用于简化 WordPress 插件开发的组件。
设计
如果你熟悉 Doctrine2 的工作原理,这里就不需要过多解释。有一个 PluginManager
来通过读取注解处理你的独立插件类。如果你对此感到困惑,请继续阅读。 :)
PluginManager
PluginManager
是该库的核心,所有类都是通过它注册到 WordPress 钩子的。
插件
插件仅仅是独立的 PHP 类。它们不需要扩展任何基类,也不需要遵循任何命名规范。文档块中的注解用于处理类。
要求
- PHP 5.3.2 及以上
- Doctrine Annotations 库以处理注解
安装
使用 Composer
在 composer.json
文件中将 eabay/oow
添加为依赖项。
使用
首先创建一个插件类
<?php namespace Plugins; /** @Plugin */ class HelloWorld { /** @Hook(tag="wp_footer",priority=50) */ public function sayHello() { echo 'Hello World'; } }
进入你的插件文件,并使用 PluginManager
注册你的插件;
<?php /* Plugin Name: Hello World */ use Oow\Plugin\PluginManager; use Plugins\HelloWorld; $manager = new PluginManager; $manager->addPlugin(new HelloWorld);
这将在页面页脚中打印 Hello World。请检查 https://github.com/eabay/oow-sample-plugin 以获取示例插件。
你可以随意创建你的类。使用 @Plugin
类注解将你的类变成插件,并使用 @Hook
方法注解将它的方法钩接到动作和过滤器。如果你在动作和过滤器钩子之间进行语义区分,你可以在方法文档块中使用 @Action
和 @Filter
注解。这些只是同义词,功能完全相同。
@Hook
的参数与 add_filter 函数相同,只是 function_to_add 是你分配的方法,accepted_args 是该方法具有的参数数量。 priority 是可选的,默认为 10。
请查阅 Doctrine Annotations 文档以了解更多关于注解的信息。
贡献
将项目分支,创建一个功能分支,并发送给我一个 pull request。