scratcher28/flysystem-mailru-cloud
Flysystem 适配 Mail.ru 云
v0.0.8
2021-12-06 12:26 UTC
Requires
- php: ^7.0|^8.0
- ext-mbstring: *
- league/flysystem: ^1.1
- scratcher28/cloud-mail-ru: dev-master
This package is not auto-updated.
Last update: 2024-09-24 02:37:20 UTC
README
此包包含一个Flysystem适配器用于Mail.ru 云。底层使用Friday14/mailru-cloud-php。
安装
您可以通过composer安装此包
composer require freecod/flysystem-mailru-cloud
使用
此包使用非官方API客户端 Friday14/mailru-cloud-php - cloud.mail.ru
初始化客户端时,输入您的登录名(不包含@域名),域名(mail.ru,list.ru等)以及用于操作云的密码。
use Friday14\Mailru\Cloud; use Freecod\FlysystemMailRuCloud\MailRuCloudAdapter; $client = new Cloud('login', 'password', 'mail.ru'); $adapter = new MailRuCloudAdapter($client); $filesystem = new Filesystem($adapter);
Laravel中使用
要将此包作为Laravel Storage驱动程序的驱动,您必须创建Service Provider以扩展存储驱动程序
<?php namespace App\Providers; use Freecod\FlysystemMailRuCloud\MailRuCloudAdapter; use Friday14\Mailru\Cloud; use League\Flysystem\Filesystem; use Illuminate\Support\ServiceProvider; class MailRuCloudServiceProvider extends ServiceProvider { public function boot() { \Storage::extend('mailru', function ($app, $config) { $client = new Cloud( $config['login'], $config['password'], $config['domain'] ); return new Filesystem(new MailRuCloudAdapter($client)); }); } }
现在将此Service Provider添加到config/app.php中的"providers"部分
App\Providers\MailRuCloudServiceProvider::class,
最后一步 - 将其添加到config/filesystems.php中的"disks"部分
'mailru' => [ 'driver' => 'mailru', 'login' => env('MAIL_RU_CLOUD_LOGIN'), 'domain' => env('MAIL_RU_CLOUD_DOMAIN'), 'password' => env('MAIL_RU_CLOUD_PASSWORD'), ],
使用
$data = \Storage::disk('mailru')->files();
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。