thotam / vimeo-laravel
Laravel 的 Vimeo 桥接器
Requires
- php: ^7.2|^8.0
- graham-campbell/manager: ^4.0
- illuminate/contracts: ^5.8|^6.0|^7.0|^8.0
- illuminate/support: ^5.8|^6.0|^7.0|^8.0
- vimeo/vimeo-api: ^3.0.3
Requires (Dev)
- graham-campbell/analyzer: ^2.0
- graham-campbell/testbench: ^5.2
- laravel/framework: ^5.8|^6.0|^7.0|^8.0
- laravel/lumen-framework: ^5.7
- mockery/mockery: ^1.0
- phpunit/phpunit: ^7.0
- psalm/plugin-laravel: ^1.4.0
- vimeo/psalm: ^3.17
README
Laravel 的 Vimeo 桥接器。
// Fetching data. $vimeo->request('/users/dashron', ['per_page' => 2], 'GET'); // Upload videos. $vimeo->upload('/home/aaron/foo.mp4'); // Want to use a facade? Vimeo::uploadImage('/videos/123/images', '/home/aaron/bar.png', true);
安装
使用 Composer 在项目根目录中安装此包。
$ composer require vimeo/laravel
将服务提供者添加到 config/app.php
中的 providers
数组,或者在 Laravel 5.5 中,可以通过自动包发现来完成。
Vimeo\Laravel\VimeoServiceProvider::class
如果您想使用 facade,请将引用添加到 config/app.php
中的别名数组。
'Vimeo' => Vimeo\Laravel\Facades\Vimeo::class
配置
Laravel Vimeo 需要连接配置。要开始,您需要发布所有供应商资源
$ php artisan vendor:publish --provider="Vimeo\Laravel\VimeoServiceProvider"
这将在您的应用中创建一个 config/vimeo.php
文件,您可以修改它来设置配置。同时,请确保检查此包中原始配置文件在发布之间的更改。
您可以根据需要更改配置文件,但默认预期值如下
VIMEO_CLIENT= VIMEO_SECRET= VIMEO_ACCESS=
并设置备用连接...
VIMEO_ALT_CLIENT= VIMEO_ALT_SECRET= VIMEO_ALT_ACCESS=
默认连接名称
此选项 default
是您指定以下哪个连接作为您所有工作的默认连接的地方。当然,您可以使用管理器类同时使用许多连接。此设置的默认值为 main
。
Vimeo 连接
此选项 connections
是为您的应用程序设置的每个连接。已包括示例配置,但您可以根据需要添加尽可能多的连接。
用法
VimeoManager
这是最有趣的类。它绑定到 ioc 容器上的 vimeo
,并可以使用 Facades\Vimeo
facade 访问。该类通过扩展 AbstractManager 实现了 ManagerInterface。接口和抽象类都是 Graham Campbell 的 Laravel Manager 包的一部分,因此您可能想查看该存储库中的文档以了解如何使用管理器类。请注意,返回的连接类始终是 Vimeo\Vimeo
的实例。
Facades\Vimeo
此 facade 将动态地将静态方法调用传递到 ioc 容器中的 vimeo
对象,默认情况下是 VimeoManager
类。
VimeoServiceProvider
此类不包含任何有趣的公开方法。应将此类添加到 config/app.php
中的提供者数组。此类将设置 ioc 绑定。
示例
在这里,您可以看到此包的使用有多么简单。默认情况下,默认适配器是 main
。在配置文件中输入您的认证详情后,它将正常工作
// You can alias this in config/app.php. use Vimeo\Laravel\Facades\Vimeo; Vimeo::request('/me/videos', ['per_page' => 10], 'GET'); // We're done here - how easy was that, it just works! Vimeo::upload('/bar.mp4'); // This example is simple and there are far more methods available.
Vimeo 管理器将表现得像 Vimeo\Vimeo
。如果您想调用特定的连接,可以使用连接方法
use Vimeo\Laravel\Facades\Vimeo; // Writing this… Vimeo::connection('main')->upload('/bar.mp4'); // …is identical to writing this Vimeo::upload('/bar.mp4'); // and is also identical to writing this. Vimeo::connection()->upload('/bar.mp4'); // This is because the main connection is configured to be the default. Vimeo::getDefaultConnection(); // This will return main. // We can change the default connection. Vimeo::setDefaultConnection('alternative'); // The default is now alternative.
如果您像我一样更喜欢使用依赖注入而不是 facade,则可以注入管理器
use Vimeo\Laravel\VimeoManager; class Foo { protected $vimeo; public function __construct(VimeoManager $vimeo) { $this->vimeo = $vimeo; } public function bar() { $this->vimeo->upload('/foo.mp4'); } } App::make('Foo')->bar();
文档
此包中还有一些未在此处记录的类。这是因为此包是 官方 Vimeo 包 的 Laravel 包装器。