arraypress/s3-providers

一个全面的库,便于与各种兼容S3的存储提供商进行交互。支持云flare R2、Linode、Amazon等流行提供商。

dev-main 2024-05-18 17:59 UTC

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授权。