njasm / laravel5-soundcloud
为 Laravel 5 的 Soundcloud API 服务提供者
dev-master
2019-08-30 21:55 UTC
Requires
- illuminate/support: 5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*
- njasm/soundcloud: ~2.0
This package is not auto-updated.
Last update: 2024-09-14 22:27:01 UTC
README
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_id
、client_secret
、username
或 password
出现在您的存储库中(出于安全考虑),请将它们放在 .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 凭据)之外,在专门的配置文件中还有更多选项可用
username
和password
,都用于以实际用户身份连接到 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');