mattlibera/mfl-api-wrapper-laravel

该软件包最新版本(0.3)没有可用的许可证信息。

MFL (MyFantasyLeague) API PHP 库的 Laravel 包装器

0.3 2021-09-30 14:09 UTC

This package is auto-updated.

Last update: 2024-09-27 20:50:30 UTC


README

联系方式:matt@mattlibera.com

简介

此软件包是 MFL API PHP 库的 Laravel 包装器,以便可以在 Laravel 应用程序中使用 MFL API PHP 库。

这是一个正在进行中的项目。目前不建议用于生产应用程序。

安装

  1. composer require 'mattlibera/mfl-api-wrapper-laravel'
  2. 如果您正在运行 Laravel 5.5+,您可以跳过此步骤,因为自动包发现将自动处理。对于 Laravel 5.4 及以下版本,请手动将 MattLibera\MflApiLaravel\ServiceProvider::class, 添加到您的 config/app.php 文件中。
  3. 运行 php artisan vendor:publish --provider='MattLibera\MflApiLaravel\ServiceProvider 以发布 mfl-api.php 配置文件
  4. 在您的 .env 文件中设置您的环境凭证,并在 config/mfl-api.php 中设置您的配置选项

注意:不要为 MFL_API_HOST 使用协议(http:// 或 https://)。相反,将您的协议(首选 https)、仅字母的字符串放入 MFL_API_PROTOCOL

MFL_API_PROTOCOL=
MFL_API_HOST=

MFL_API_USERNAME=
MFL_API_PASSWORD=

MFL_API_KEY=

请注意,您不需要同时使用 USERNAME/PASSWORD 组合和 API KEY 组合;您可以使用其中一个。如果您的应用程序将允许其他人登录 MFL 以对其账户中的联赛执行操作,那么您可能会使用前者。如果应用程序主要面向专员,那么后者可能就足够了。您可以通过登录联赛然后在菜单中转到帮助 > 开发者 API 来获取您的 API 密钥。

依赖项

此软件包依赖于 mattlibera/mfl-api-php-librarybarryvdh/laravel-debugbar(开发)

用法

基本用法 / 入门

在您的代码中,假设您已正确在 .env 文件中设置了您的信息/凭证,您应该能够实例化 MattLibera\MflApiLaravel\MflApi 类,然后使用其可用的任何方法(从 MattLibera\MflApi\MflApi 继承)来发出 API 调用。

配置选项

通知模式

此库中内置了两种通知选项。您可以将信息作为闪存消息显示在屏幕上,或将其记录在 Laravel 日志中(无论您已设置什么)。

config/mfl-api.php 文件中,notification_mode 是一个数组。在内部,添加一个或两个 flashlog

如果您选择将其集成到应用程序的高级自定义通知/日志记录系统中,您可以保留此数组为空以禁用这两种方法,然后根据 API 调用的返回数组(API 类返回每个调用的整个响应,包括响应代码)来处理自己的日志记录。

截至版本 0.2,不包含任何闪存消息包。您可以自由安装自己的 - 推荐 laracasts/flash 或实现类似 API 的其他内容。

调试模式

需要 Barryvdh 的 DebugBar

如果您在 config/mfl-api.php 文件中打开调试模式,调用的一些额外信息将被写入 Debugbar。这包括时间、散列缓存密钥和每个调用的完整结果。

> 注意:根据此软件包的最佳实践,此功能仅在工作环境不是 production 时才有效。

缓存

为了速度、遵守速率限制以及整体性能,该库中内置了API调用缓存功能。这利用了Laravel缓存机制(类似于日志,可以在Laravel配置中按需设置)。您可以通过在.env文件中添加MFL_API_CACHING=off来选择性地禁用此功能。

这种缓存并不复杂;它实际上只是缓存API调用返回的结果体。根据您的应用程序将要执行的操作,您可能希望进一步将缓存存储到某些数据库表中。但这是为您提供的,无论对您来说价值如何。

缓存TTL

默认情况下,缓存的有效期设置为10分钟,但您可以在.env文件中添加MFL_API_CACHE_MINUTES=x来设置缓存在x分钟后过期。

缓存的端点

仅针对特定的端点执行缓存操作(例如,相当于典型GET请求的请求)。显然,您不希望缓存旨在实际修改MFL中的信息的请求(相当于POSTPATCHDELETE请求)。

默认情况下,config/mfl-api.php中设置了一套基本的端点。如果您想更改哪些端点被缓存/不被缓存(或添加您自己的端点),只需修改配置文件中的cached_endpoints数组。

在MFL中,“端点”的结构可能因操作而异。在这种情况下,我们只缓存‘export’操作,因此您可以假设cached_endpoints中列出的任何内容都是‘export’操作集下的命令。

版本历史

0.3

  • 修复了认证问题,因此我们使用api前缀进行认证调用,然后将主机重置为配置中的值。

0.2.1

  • PSR4

0.2

  • 移除了对standaniels/flash库的依赖。

0.1

  • 第一个实际发布版本。
  • 为MFL凭证集成.env
  • 调试模式
  • 缓存