spenserhale / wp-autohook-library
一个用于自动将类钩入WordPress动作和过滤器的库。
1.2.0
2024-05-15 06:01 UTC
Requires (Dev)
- phpunit/phpunit: ^10
README
WP AutoHooks 是一个PHP库,允许您在类和方法上定义属性,以记录和注册WordPress钩子。
特性
- 开发者体验:将钩子文档与方法并列,为您提供上下文并提升开发者体验。
- 性能:只有在需要时才加载类或实例化对象以注册钩子。
- 灵活性:底层PHP库既可以用于简单项目,也可以用于复杂项目。
- 模块化:能够快速且轻松地添加和删除独立类。
入门
先决条件
默认情况下,该库面向Composer,但具有灵活性,您可以将其与您的类加载系统集成。
安装
composer require spenserhale/wp-autohook-library
基本用法
使用Hook和Shortcode属性对类和方法进行属性化。
#[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许可证许可。
(回到顶部)
