eabay/oow

面向对象的方法进行 WordPress 插件开发

1.4.0 2015-11-02 09:59 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:46:44 UTC


README

Oow 是一个库,包含用于简化 WordPress 插件开发的组件。

设计

如果你熟悉 Doctrine2 的工作原理,这里就不需要过多解释。有一个 PluginManager 来通过读取注解处理你的独立插件类。如果你对此感到困惑,请继续阅读。 :)

PluginManager

PluginManager 是该库的核心,所有类都是通过它注册到 WordPress 钩子的。

插件

插件仅仅是独立的 PHP 类。它们不需要扩展任何基类,也不需要遵循任何命名规范。文档块中的注解用于处理类。

要求

安装

使用 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。