lucasromanojf/laravel5-soundcloud

Laravel 5 的 Soundcloud API 服务提供者

dev-master 2023-01-17 16:28 UTC

This package is auto-updated.

Last update: 2024-09-17 20:09:47 UTC


README

Total Downloads License

Laravel 5 - Soundcloud Api 服务提供者

Laravel 5 的 Soundcloud API 服务提供者

安装

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

{
    "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');