mindspun/wordpress-plugin-framework 问题修复 & 功能扩展

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

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

mindspun/wordpress-plugin-framework

最新稳定版本:v1.4.0

Composer 安装命令:

composer require mindspun/wordpress-plugin-framework

包简介

Framework for creating professional-grade WordPress plugins.

README 文档

README

The WordPress plugin framework utilizes the registry and facade design patterns to create profession-grade plugins that:

  • Have a clean, easy to understand, OOP implementation.
  • Have 100% unit test coverage.

See the examples directory for a batteries-included example.

Installation

The code is simple enough - and licensed appropriately - to be copied into your product directly, however, the best approach is to use Composer and Strauss.

See the examples directory for complete plugin that uses this method.

Autoloading

This package also contains a simple autoloader class that support both WordPress and PSR-4 style classes. Use it to autoload your application code.

require_once( __DIR__ . '/vendor-prefixed/autoload.php' );
Autoloader::autoload( 'Examples\Logging', __DIR__ . '/includes' );

The first line pulls in the Strauss autoloader, which loads the framework - including our autoloader class. The second line loads our plugin code.

The autoload method registers a namespace and associates the directory containing the files.

autoload( string $namespace, string $dir, string $type = 'psr4' )

The $type parameter also accepts wordpress or wp in which case the WordPress file namings scheme is used - i.e. with 'class-' filenames etc.

Usage

The facade/provider combo acts as a mini-library inside your plugin. The facade is the sole way the rest of the application acts with the functionality the provider provides.

In the plugin file, you'd call:

MyComponentProvider::provide();

then in the rest of the application, use the facade:

MyComponent::my_method();

Globals Facade/Provider

The framework contains one 'built-in' facade/provider combo: 'Globals', since every plugin is going to need it.

In your plugin, replace any call to a global function - either PHP native, or WordPress defined - with this facade. For example, die() becomes Globals::die(), wp_redirect(...) becomes Globals::wp_redirect(...) etc.

Generally, you'd create a 'Globals' class in your own namespace that extends Mindspun\Framework\Facades\Globals and then has an empty body. The purpose of this class is to add PHP doc @method comments with the globals you use to assist your editor. See the 'Globals' class in the 'examples' directory for an example.

Motivation

There are at least six other GitHub projects with the name 'wordpress-plugin-framework', so why one more?

  • It's just plain difficult to get 100% code coverage for a plugin of any complexity, and we consider that a minimum requirement for release. This approach fixes that.
  • Just look at any of the older plugins on wordpress.org/plugins/, and you'll see that it's really difficult to prevent a plugin from turning into spaghetti code as it grows. This approach prevents that (mostly, care must still be taken).

Development

Setup

composer update
make

统计信息

  • 总下载量: 82
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固