mixerapi / core
MixerAPI Core 库
v2.0.1
2024-02-17 14:57 UTC
Requires
- php: ^8.1
- cakephp/cakephp: ^5.0
- kcs/class-finder: ^0.3
Requires (Dev)
- cakephp/cakephp-codesniffer: ^5.0
- phpmd/phpmd: ^2.10
- phpstan/phpstan: ^1.8.5
- phpunit/phpunit: ^10
README
Core 库,便于在 MixerAPI 插件之间轻松共享常用的类和工具。如果没有完整的 mixerapi 插件,安装此包可能价值不大。
此分支仅适用于 CakePHP 5.x。支持的版本
安装
composer require mixerapi/core
有关如何加载插件,请参阅 CakePHP 文档:插件。
事件监听器加载器
事件监听器加载器将自动加载给定命名空间中实现 Cake\Event\EventListenerInterface
的所有监听器。示例
# src/Application.php use Cake\Http\BaseApplication; use MixerApi\Core\Event\EventListenerLoader; class Application extends BaseApplication { public function bootstrap(): void { // ...other code (new EventListenerLoader())->load(); // other code... } }
默认行为会在 App\Event
中加载所有监听器。如果您的监听器位于其他位置,您可以通过传递不同的命名空间参数作为 load($namespace)
来实现。
命名空间工具
返回给定命名空间中的一个或多个类。
use MixerApi\Core\Utility\NamespaceUtility; $controllers = NamespaceUtility::findClasses('\App\Controller');
默认情况下,这将加载 src/
和 plugin/*/src
目录中的类。除非您的应用程序有非常具体的需求,否则应保持原样。如果需要,您可以根据需要覆盖默认文件路径列表。
use MixerApi\Core\Utility\NamespaceUtility; $controllers = NamespaceUtility::findClasses('\App\Controller', ['/absolute/path/to/src']);