comphp / drivers
允许动态管理驱动
v0.1.1
2024-02-17 17:27 UTC
Requires
- php: ^8.3
- comphp/service-management: ^0.2
Requires (Dev)
- phpunit/phpunit: ^10.5.9
README
CommonPHP 驱动管理库为 PHP 应用程序中的驱动实现提供了一个强大的框架。通过利用属性和契约,它提供了一个灵活的系统,可以在您的项目中无缝注册、启用和利用各种驱动。
功能
- 灵活的驱动配置:使用 PHP 8 属性或指定驱动契约来配置驱动。
- 动态驱动支持检查:根据其配置确定一个类是否可以作为驱动支持。
- 驱动实例化:由 CommonPHP 服务管理框架按需管理驱动实例化,确保依赖注入和单例管理。
- 全面的异常处理:对配置错误、不支持驱动和实例化问题进行详细异常处理。
安装
使用 Composer 将驱动管理库集成到您的项目中
composer require comphp/drivers
配置
定义驱动契约或属性
实现 DriverContract
用于基于接口/抽象类的驱动,或使用 DriverAttributeContract
来标记具有属性的驱动。
注册和配置 DriverManager
use CommonPHP\Drivers\DriverManager; use CommonPHP\Drivers\ServiceProviders\DriverManagerServiceProvider; use CommonPHP\ServiceManagement\ServiceManager; // Initialize ServiceManager and register DriverManagerServiceProvider $serviceManager = new ServiceManager(); $serviceManager->providers->registerProvider(DriverManagerServiceProvider::class); // Retrieve an instance of DriverManager $driverManager = $serviceManager->get(DriverManager::class); // Configure DriverManager with an attribute or contract class $driverManager->configure( attributeClass: YourDriverAttribute::class, contractClass: YourDriverContract::class );
使用
启用一个驱动
一旦一个驱动满足配置的标准(属性或契约),就可以使用以下方式启用它
$driverManager->enable(YourDriverClass::class);
使用已启用的驱动
检索并使用一个已启用的驱动
$driver = $driverManager->get(YourDriverClass::class); $driver->performAction();
贡献
欢迎对 CommonPHP 驱动管理库的贡献。请按照存储库中提供的贡献指南提交拉取请求或问题。
许可证
此库在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。