/flysystem-yandexdisk

Yandex.Disk Adapter for thephpleague/flysystem

Primary LanguagePHPMIT LicenseMIT

Адаптер thephpleague/flysystem для Яндекс.Диск REST API (Flysystem Adapter for Yandex.Disk REST API).

В разработке

Посетите https://oauth.yandex.ru, создайте приложение и получите отладочный OAuth-токен.

Visit https://oauth.yandex.com and create application. Get your OAuth token.

Установка (Installation)

$ composer require arhitector/yandex-disk-flysystem dev-master

Использование (Usage)

Вы можете использовать папку приложения в качестве корневого пути, для этого используйте Arhitector\Yandex\Disk\Adapter::PREFIX_APP (значение "app:/") вторым параметром $prefix. По умолчанию используется Arhitector\Yandex\Disk\Adapter::PREFIX_FULL, что эквивалентно "disk:/" - доступ ко всему диску.

public __construct(Disk $client [, $prefix = 'disk:/'])

$client экземпляр объекта Arhitector\Yandex\Disk с уже установленным OAuth-токеном.

$prefix чтобы использовать папку приложения передайте Arhitector\Yandex\Disk\Adapter::PREFIX_APP

Arhitector\Yandex\Disk\Adapter::PREFIX_FULL access to the entire disc (default).

Arhitector\Yandex\Disk\Adapter::PREFIX_APP see more info https://tech.yandex.com/disk/api/concepts/app-folders-docpage/

// set a token before creation of the adapter
$client = new Arhitector\Yandex\Disk([string $accessToken]);

// or
$client->setAccessToken(string $accessToken);

// create adapter
$adapter = new Arhitector\Yandex\Disk\Adapter\Flysystem($client);

// or with app folder
$adapter = new Arhitector\Yandex\Disk\Adapter\Flysystem($client, Arhitector\Yandex\Disk\Adapter\Flysystem::PREFIX_APP);

// create Filesystem
$filesystem = new League\Flysystem\Filesystem($adapter);

// and use
$contents = $filesystem->listContents();

var_dump($contents);

Регистрация слушателей событий

$filesystem->write('path', 'contents', [
    'events' => [
        'event-name 1' => 'listener', /* function, etc. */
        'event-name 2' => 'other listener'
    ]
]);

Регистрация более чем одного слушателя

$filesystem->write('path', 'contents', [
    'events' => [
        'event-name' => [
            'listener 1' /* function, etc. */,
            'listener 2' /* function, etc. */,
            'listener 3' /* function, etc. */
        ]
    ]
]);

Лицензия (License)

MIT License (MIT)