njasm/laravel5-soundcloud

为 Laravel 5 的 Soundcloud API 服务提供者

dev-master 2019-08-30 21:55 UTC

This package is not auto-updated.

Last update: 2024-09-14 22:27:01 UTC


README

Total Downloads License

Laravel 5 - Soundcloud Api 服务提供者

为 Laravel 5 的 Soundcloud API 服务提供者

安装

可以通过 Composer 在项目中的 composer.json 文件中要求 "njasm/laravel5-soundcloud": "dev-master" 包来安装此包。

{
    "require": {
        "njasm/laravel5-soundcloud": "dev-master"
    },
    "minimum-stability": "dev"
}

接下来,您需要将服务提供者添加到 config/app.php

'providers' => [
    // ...
    Njasm\Laravel\Soundcloud\SoundcloudProvider::class,
],

另外,如果您想使用 Facade,可以在 config/app.php 中为其注册别名。

'aliases' => [
    // ...
    'Soundcloud' => Njasm\Laravel\Soundcloud\Facades\Soundcloud::class,
],

我们还有一个专门的配置文件,可以通过运行以下命令发布

php artisan vendor:publish --provider="Njasm\Laravel\Soundcloud\SoundcloudProvider"

SoundCloud 凭据

由于您很可能不希望您的 client_idclient_secretusernamepassword 出现在您的存储库中(出于安全考虑),请将它们放在 .env 文件中

SOUNDCLOUD_CLIENT_ID=your_client_id
SOUNDCLOUD_CLIENT_SECRET=your_client_secret
SOUNDCLOUD_CALLBACK_URL=your_callback_url
SOUNDCLOUD_USERNAME=your_username
SOUNDCLOUD_PASSWORD=your_password
SOUNDCLOUD_AUTO_CONNECT=false

并在 config/services.php 中这样引用它们

// ...
'soundcloud' => [
    'client_id' => env('SOUNDCLOUD_CLIENT_ID'),
    'client_secret' => env('SOUNDCLOUD_CLIENT_SECRET'),
    'callback_url' => env('SOUNDCLOUD_CALLBACK_URL'),
],

配置

除了 services.php 中已有的(现在包含了您所有的 SoundCloud 凭据)之外,在专门的配置文件中还有更多选项可用

  • usernamepassword,都用于以实际用户身份连接到 SoundCloud API。这些应在 .env 文件中定义。
  • auto_connect:当设置为 true 时,上述用户凭据将用于自动连接到 SoundCloud,而无需您手动调用 userCredentials 方法。这可能会用于快速访问认证用户的资料。请注意,由于此选项可能取决于应用环境(例如运行单元测试时),它也应定义在 .env 文件中。

使用方法

您可以通过多种方式访问 Soundcloud 对象

使用依赖注入

在这种情况下,我们将利用 Laravel 的 IoC 容器来自动解决绑定

namespace App\Http\Controllers;

use Njasm\Soundcloud\SoundcloudFacade;

class HomeController extends Controller
{
    public function index(SoundcloudFacade $soundcloud)
    {
        echo $soundcloud->getAuthUrl();
    }
}

使用 Facade

namespace App\Http\Controllers;

use Soundcloud;

class HomeController extends Controller
{
    public function index()
    {
        echo Soundcloud::getAuthUrl();
    }
}

手动从容器中解决绑定

您可以使用 SoundcloudFacade 的完整命名空间在 IoC 中引用绑定

$soundcloud = $this->app->make(\Njasm\Soundcloud\SoundcloudFacade::class);
$soundcloud = App::make(\Njasm\Soundcloud\SoundcloudFacade::class);
$soundcloud = app(\Njasm\Soundcloud\SoundcloudFacade::class);

或使用简写别名

$soundcloud = $this->app->make('Soundcloud');
$soundcloud = App::make('Soundcloud');
$soundcloud = app('Soundcloud');