graham-campbell / digitalocean
DigitalOcean 是 Laravel 的 DigitalOcean 桥接器
Requires
- php: ^7.4.15 || ^8.0.2
- graham-campbell/manager: ^5.1
- guzzlehttp/guzzle: ^7.8.1
- guzzlehttp/psr7: ^2.6.2
- illuminate/contracts: ^8.75 || ^9.0 || ^10.0 || ^11.0
- illuminate/support: ^8.75 || ^9.0 || ^10.0 || ^11.0
- toin0u/digitalocean-v2: 4.9.*
Requires (Dev)
- graham-campbell/analyzer: ^4.1
- graham-campbell/testbench: ^6.1
- mockery/mockery: ^1.6.6
- phpunit/phpunit: ^9.6.17 || ^10.5.13
- 10.4.x-dev
- v10.4.0
- 10.3.x-dev
- v10.3.0
- 10.2.x-dev
- v10.2.0
- 10.1.x-dev
- 10.1.0
- 10.0.x-dev
- v10.0.0
- 9.0.x-dev
- v9.0.0
- 8.4.x-dev
- v8.4.0
- 8.3.x-dev
- v8.3.1
- v8.3.0
- 8.2.x-dev
- v8.2.0
- 8.1.x-dev
- v8.1.0
- 8.0.x-dev
- v8.0.0
- 7.3.x-dev
- v7.3.1
- v7.3.0
- 7.2.x-dev
- v7.2.0
- 7.1.x-dev
- v7.1.0
- v7.0.0
- 6.0.x-dev
- v6.0.1
- v6.0.0
- 5.4.x-dev
- v5.4.1
- v5.4.0
- v5.3.0
- v5.2.1
- v5.2.0
- v5.1.0
- v5.0.0
- 4.0.x-dev
- v4.0.1
- v4.0.0
- 3.2.x-dev
- v3.2.0
- v3.1.0
- v3.0.1
- v3.0.0
- 2.2.x-dev
- v2.2.0
- v2.1.0
- v2.0.0
- v1.1.0
- v1.0.0
- v0.5.1-alpha
- v0.5.0-alpha
- v0.4.0-alpha
- v0.3.0-alpha
- v0.2.0-alpha
- v0.1.2-alpha
- v0.1.1-alpha
- v0.1.0-alpha
This package is auto-updated.
Last update: 2024-09-17 23:26:26 UTC
README
Laravel DigitalOcean 由 Graham Campbell 创建并维护,是一个 DigitalOcean PHP API 客户端 桥接器,用于 Laravel。它使用了我的 Laravel Manager 包。您可以自由查看 变更日志、版本发布、安全策略、许可协议、行为准则 和 贡献指南。
安装
本版本需要 PHP 7.4-8.3,并支持 Laravel 8-11。
要获取最新版本,只需使用 Composer 依赖项目。
$ composer require "graham-campbell/digitalocean:^10.4"
安装后,如果您未使用自动包发现,则需要在您的 config/app.php
中注册 GrahamCampbell\DigitalOcean\DigitalOceanServiceProvider
服务提供者。
您还可以选择性地别命名我们的外观
'DigitalOcean' => GrahamCampbell\DigitalOcean\Facades\DigitalOcean::class,
配置
Laravel DigitalOcean 需要连接配置。
要开始,您需要发布所有供应商资产
$ php artisan vendor:publish
这将在您的应用中创建一个 config/digitalocean.php
文件,您可以修改它以设置您的配置。同时,请确保检查本包中原始配置文件在版本间的更改。
有两种配置选项
默认连接名称
此选项('default'
)是您指定要作为所有工作的默认连接的连接之一的位置。当然,您可以使用管理器类同时使用许多连接。此设置的默认值是 'main'
。
DigitalOcean 连接
此选项('connections'
)是您为应用程序设置每个连接的地方。示例配置已包括在内,但您可以添加您想要的任何数量的连接。请注意,支持的两种认证方法是:"none"
和 "token"
。
用法
DigitalOceanManager
这是最有趣的类。它绑定到 ioc 容器中的 'digitalocean'
,可以通过 Facades\DigitalOcean
外观访问。此类通过扩展 AbstractManager
实现 ManagerInterface
。接口和抽象类都是我 Laravel Manager 包的一部分,因此您可能想查看那个存储库中的文档,了解如何使用管理器类在那。请注意,返回的连接类始终是 DigitalOceanV2\Client
的实例。
门面\DigitalOcean
此门面将动态地将静态方法调用传递到ioc容器中的'digitalocean'
对象,默认情况下是DigitalOceanManager
类。
DigitalOceanServiceProvider
此类不包含任何有意义的公共方法。应将此类添加到config/app.php
中的providers数组中。此类将设置ioc绑定。
真实示例
在这里,您可以看到这个包有多么简单易用。默认适配器是main
。在配置文件中输入您的认证信息后,它将正常工作。
use GrahamCampbell\DigitalOcean\Facades\DigitalOcean; // you can alias this in config/app.php if you like DigitalOcean::droplet()->powerOn(12345); // we're done here - how easy was that, it just works! DigitalOcean::size()->getAll(); // this example is simple, and there are far more methods available
DigitalOcean管理器将表现得像DigitalOceanV2\Client
类。如果您想调用特定的连接,可以使用connection
方法。
use GrahamCampbell\DigitalOcean\Facades\DigitalOcean; // select the your_connection_name connection, then get going DigitalOcean::connection('your_connection_name')->droplet()->getById(12345);
考虑到这一点,请注意:
use GrahamCampbell\DigitalOcean\Facades\DigitalOcean; // writing this: DigitalOcean::connection('main')->region()->getAll(); // is identical to writing this: DigitalOcean::region()->getAll(); // and is also identical to writing this: DigitalOcean::connection()->region()->getAll(); // this is because the main connection is configured to be the default DigitalOcean::getDefaultConnection(); // this will return main // we can change the default connection DigitalOcean::setDefaultConnection('alternative'); // the default is now alternative
如果您像我一样喜欢使用门面而不是依赖注入,那么您可以这样轻松地注入管理器。
use GrahamCampbell\DigitalOcean\DigitalOceanManager; class Foo { private DigitalOceanManager $digitalocean; public function __construct(DigitalOceanManager $digitalocean) { $this->digitalocean = $digitalocean; } public function bar() { $this->digitalocean->region()->getAll(); } } app(Foo::class)->bar();
有关如何使用我们在此幕后调用的DigitalOceanV2\Client
类的更多信息,请参阅此处的文档,以及管理器类此处。
更多信息
此包中还有其他未在此处记录的类。这是因为它们不是用于公共用途,而是由此包内部使用。
安全性
如果您在此包中发现安全漏洞,请发送电子邮件至security@tidelift.com。所有安全漏洞都将得到及时处理。您可以在此处查看我们的完整安全策略这里。
许可证
Laravel DigitalOcean采用MIT许可证(MIT)。
企业版
作为Tidelift订阅的一部分提供
graham-campbell/digitalocean
的维护者以及成千上万的其他包维护者正在与Tidelift合作,为构建应用程序时使用的开源依赖项提供商业支持和维护。节省时间,降低风险,并提高代码质量,同时支付您确切使用的依赖项的维护者。了解更多信息请点击这里。