viendodigital / vimeo-laravel
Laravel 的 Vimeo 桥接器
Requires
- php: ^7.2
- graham-campbell/manager: ^4.0
- illuminate/contracts: ^5.8|^6.0|^7.0
- illuminate/support: ^5.8|^6.0|^7.0
- vientodigital/vimeo-api: ^3.0.6
Requires (Dev)
- graham-campbell/analyzer: ^2.0
- graham-campbell/testbench: ^5.2
- laravel/framework: ^5.8|^6.0|^7.0
- laravel/lumen-framework: ^5.7
- mockery/mockery: ^1.0
- phpunit/phpunit: ^7.0
- psalm/plugin-laravel: ^0.4
- vimeo/psalm: ^3.1
README
这是对官方 PHP Vimeo 库的分支,修改后用于与 @composer 一起工作。
Laravel Vimeo
为 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 包装器。