arraypress / s3-providers
一个全面的库,便于与各种兼容S3的存储提供商进行交互。支持云flare R2、Linode、Amazon等流行提供商。
dev-main
2024-05-18 17:59 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- arraypress/s3-path-resolver: *
- arraypress/s3-signer: *
- arraypress/s3-utilities: *
This package is auto-updated.
Last update: 2024-09-18 18:53:38 UTC
README
Providers
类提供了与一系列流行对象存储提供商的无缝集成体验。与 s3-signing 库协同工作,此类提供了一个轻松的机制来根据提供商和地区获取正确的端点,增强了应用程序的功能和灵活性。
主要功能
- 广泛的提供商支持:此库包含AWS、Linode、CloudFlare R2、Wasabi、Backblaze和DigitalOcean等对象存储提供商的广泛选择。
- 动态端点获取:自动检索所选提供商和地区的适当端点,无需手动查找。
- 端点验证:确保您的端点准确且最新,内置验证系统。
- 灵活的配置选项:除了地区之外,该类还支持账户ID等输入,使其适用于各种用例。
- 检索提供商和地区:方便地获取支持的提供商和地区列表,使插件更新或应用程序扩展变得简单。
- 检查地区存在性:验证特定地区是否存在于提供商中,防止应用程序中潜在的错误。
- 最新的JSON支持:该库从最新的JSON文件中获取提供商和地区。但是,对于定制需求,用户有权传入自己的JSON文件或结构化PHP数组以覆盖默认详细信息。
支持的提供商
- Amazon S3 (AWS)
- CloudFlare R2
- DigitalOcean Spaces
- Linode对象存储
- Wasabi云存储
- Backblaze B2云存储
最低要求
- PHP: 7.4或更高版本
安装
要将S3 Providers库集成到您的项目中,请使用Composer
composer require arraypress/s3-providers
包括供应商库
将Composer自动加载器包含到您的项目中以访问库
require_once __DIR__ . '/vendor/autoload.php';
初始化
从默认JSON文件加载提供商
$registry = new ArrayPress\S3\Registry();
从特定JSON文件加载提供商
$registry = new ArrayPress\S3\Registry( '/path/to/providers.json' );
使用预定义的提供商数据数组进行初始化
$provider_data = [ "gcp" => [ "label" => "Google Cloud Platform", //... other provider data, check providers.json for required format ] ]; $registry = new ArrayPress\S3\Providers( $provider_data );
获取所有提供商
$all_providers = $registry->getProviders();
获取提供商选项
$all_providers = $registry->getProviderOptions();
注意:将很快添加更多示例。
贡献
非常欢迎对此库的贡献。在GitHub上提出问题或提交拉取请求以修复错误或添加新功能。分享反馈和建议以改进。
许可证
此库根据GNU通用公共许可证v2.0授权。