namelivia / laravel-fitbit
Fitbit Web API 库,适用于 Laravel
Requires
- php: ^7.3|^8.0
- graham-campbell/manager: 3.*|4.*
- illuminate/contracts: 5.5.*|5.6.*|5.7.*|5.8.*|6.*|7.*|8.*
- illuminate/support: 5.5.*|5.6.*|5.7.*|5.8.*|6.*|7.*|8.*
- kamermans/guzzle-oauth2-subscriber: ^1.0
- namelivia/fitbit-http-php: ^0.0.15
Requires (Dev)
- graham-campbell/analyzer: ^3.0
- graham-campbell/testbench: 3.*|4.*|5.*
- mockery/mockery: ^1.0
- phpunit/phpunit: ^9.2.5
This package is auto-updated.
Last update: 2024-02-22 09:54:30 UTC
README
安装
使用 Composer 在项目的根目录中要求此包。
$ composer require namelivia/laravel-fitbit
将服务提供者添加到 config/app.php
中的 providers
数组。如果你使用 Laravel 5.5 或更高版本,则无需这样做。
Namelivia\Fitbit\Laravel\FitbitServiceProvider::class
如果你想要使用 facade,可以在 config/app.php
中将引用添加到你的别名数组。
'Fitbit' => Namelivia\Fitbit\Laravel\Facades\Fitbit::class
配置
Laravel Fitbit 需要连接配置。要开始,你需要发布所有供应商资产
$ php artisan vendor:publish --provider="Namelivia\Fitbit\Laravel\FitbitServiceProvider"
这将在你的应用程序中创建一个 config/fitbit.php
文件,你可以修改它来设置你的配置。同时,确保检查此包中原始配置文件在版本之间的变化。
默认连接名称
此选项 default
是你可以指定以下哪个连接作为所有工作的默认连接的地方。当然,你可以同时使用多个连接,使用管理器类。此设置的默认值为 main
。
Fitbit 连接
此选项 connections
是为你的应用程序设置每个连接的地方。已包括示例配置,但你可以添加你想要的任意数量的连接。
用法
FitbitManager
这是最感兴趣的类。它绑定到 ioc 容器中的 fitbit
,可以使用 Facades\Fitbit
facade 来访问。此类通过扩展 AbstractManager 实现 ManagerInterface。接口和抽象类都是 Graham Campbell 的 Laravel Manager 包的一部分,所以你可能想查看该存储库中的文档,了解如何使用管理器类。注意,返回的连接类始终是 Api
的实例。
Facades\Fitbit
此 facade 会动态地将静态方法调用传递到 ioc 容器中的 fitbit
对象,默认情况下是 FitbitManager
类。
FitbitServiceProvider
此类没有感兴趣的公共方法。应将此类添加到 config/app.php
中的 providers 数组。此类将设置 ioc 绑定。
示例
在这里您可以看到这个包是如何简单易用的示例。开箱即用,默认适配器是 main
。在配置文件中输入您的认证详情后,它就会自动运行
// You can alias this in config/app.php. use Namelivia\Fitbit\Laravel\Facades\Fitbit; Fitbit::activities()->activity()->getLifetimeStats(); // We're done here - how easy was that, it just works!
Fitbit 管理器会表现得像是一个 Fitbit
。如果您想要调用特定的连接,可以使用连接方法来实现
use Namelivia\Fitbit\Laravel\Facades\Fitbit; // Writing this… Fitbit::connection('main')->activities()->activity()->getLifetimeStats(); // …is identical to writing this Fitbit::activities()->activity()->getLifetimeStats(); // and is also identical to writing this. Fitbit::connection()->activities()->activity()->getLifetimeStats(); // This is because the main connection is configured to be the default. Fitbit::getDefaultConnection(); // This will return main. // We can change the default connection. Fitbit::setDefaultConnection('alternative'); // The default is now alternative.
如果您像我一样喜欢使用依赖注入而不是外观(facade),那么您可以注入管理器
use Namelivia\Fitbit\Laravel\FitbitManager; class Foo { protected $fitbit; public function __construct(FitbitManager $fitbit) { $this->fitbit = $fitbit; } public function bar() { $this->fitbit->activities()->activity()->getLifetimeStats(); } } App::make('Foo')->bar();
文档
这个包是 fitbit-http-php 的 Laravel 封装。
许可证
本地开发
该项目附带一个 docker-compose.yml
文件,因此如果您使用 Docker 和 docker-compose,您可以在不安装任何本地环境中的应用程序的情况下进行开发。首次运行时,只需执行 docker-compose up --build
来设置容器并启动测试。PHPUnit 被配置为入口点,因此每次您想执行 Docker 化的 PHP 开发容器中的测试时,只需运行 docker-compose up
即可。