spenserhale/wp-autohook-library

一个用于自动将类钩入WordPress动作和过滤器的库。

1.2.0 2024-05-15 06:01 UTC

This package is auto-updated.

Last update: 2024-09-15 06:51:39 UTC


README

Screen Shot

WP AutoHooks 是一个PHP库,允许您在类和方法上定义属性,以记录和注册WordPress钩子。

特性

  • 开发者体验:将钩子文档与方法并列,为您提供上下文并提升开发者体验。
  • 性能:只有在需要时才加载类或实例化对象以注册钩子。
  • 灵活性:底层PHP库既可以用于简单项目,也可以用于复杂项目。
  • 模块化:能够快速且轻松地添加和删除独立类。

入门

先决条件

默认情况下,该库面向Composer,但具有灵活性,您可以将其与您的类加载系统集成。

安装

composer require spenserhale/wp-autohook-library

基本用法

使用HookShortcode属性对类和方法进行属性化。

 #[Hook('cli_init')]
 public static function register(): void {...}

构建/连接

// Get the list of classes
$classes = \SH\AutoHook\ComposerJsonParser::getClasses($composerJsonPath);

// Process classes to string
[$output] = \SH\AutoHook\AttributeResolver::processClassesToString($classes);

// Write to file
(bool) $written = \SH\AutoHook\FileWriter::write($output, $outputPath);

高级用法

某些项目可能在运行时没有composer.json可用,因此您可以使用类加载器对象。

构建/连接

// Get Classloader object
$loader = require 'vendor/autoload.php';

// Get the list of classes
$classes = \SH\AutoHook\ComposerClassLoaderParser::getClasses($loader, ['App\\', 'MyNamespace\\']);

// Process classes to string
[$output] = \SH\AutoHook\AttributeResolver::processClassesToString($classes);

// Write to file
(bool) $written = \SH\AutoHook\FileWriter::write($output, $outputPath);

测试

要运行测试,请确保通过Composer创建类列表

composer du -o

然后运行测试

 composer test

许可证

WordPress AutoHooks库是开源软件,受MIT许可证许可。

(回到顶部)