eabay/oow 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

eabay/oow

最新稳定版本:1.4.0

Composer 安装命令:

composer require eabay/oow

包简介

Object-Oriented approach to WordPress plugin development

README 文档

README

Oow is a library that contains components to ease WordPress plugin development.

Design

If you are familiar with how Doctrine2 works, there is just a little to explain. There is a PluginManager to handle your standalone plugin classes by reading annotations. Don't worry if this doesn't make any sense to you. Continue to read. :)

PluginManager

PluginManager is at the heart of the library and all classes is registered to WordPress hooks with it.

Plugins

Plugins are just standalone PHP classes. They don't have to extend any base class and don't have to follow any naming conventions. Annotations in docblocks are used to handle classes.

Requirements

Installation

with Composer

Add eabay/oow as a dependency in your composer.json file.

Usage

First create a plugin class:

<?php
namespace Plugins;

/** @Plugin */
class HelloWorld
{
    /** @Hook(tag="wp_footer",priority=50) */
    public function sayHello()
    {
        echo 'Hello World';
    }
}

Go to your plugin file and register your plugin with PluginManager;

<?php
/*
Plugin Name: Hello World
*/

use Oow\Plugin\PluginManager;
use Plugins\HelloWorld;

$manager = new PluginManager;

$manager->addPlugin(new HelloWorld);

This will print Hello World in the page footer. Check https://github.com/eabay/oow-sample-plugin for sample plugin.

You are free to create your classes as you want. @Plugin class annotation makes your class a plugin and @Hook method annotation hooks your its methods to actions and filters. If you semantically distinguish you action and filter hooks you can use @Action and @Filter annotations in method docblocks. Those are just synonyms and do exactly the same.

The parameters of @Hook is the same as add_filter function except that function_to_add is the method you assign and accepted_args is the number of arguments that method has. priority is optional and its default is 10.

Please check Doctrine Annotations documentation to learn more about annotations.

Contributing

Fork the project, create a feature branch, and send me a pull request.

统计信息

  • 总下载量: 352
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 22
  • 点击次数: 0
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 21
  • Watchers: 4
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2012-04-17