amalfra / giantbomb
GiantBomb API 的 PHP 封装
Requires
- php: >=8.1.0
- ext-redis: *
- rmccue/requests: ^2.0.4
- symfony/cache: ^6.1
Requires (Dev)
- phpunit/phpunit: ~9.5.21
- squizlabs/php_codesniffer: 3.*
README
一个用于轻松与 Giantbomb API 交互的库。功能包括
- 缓存支持
在 https://www.giantbomb.com/api 获取您的 API 密钥
要求
- PHP Redis 扩展。可以使用以下命令安装:
pecl install redis
安装
composer require amalfra/giantbomb
这将创建一个 vendor 目录(如果您还没有的话)并设置自动加载类映射。
使用
一切安装完成后,您应该在代码中加载 composer 自动加载器。
您可以使用命名空间加载包装类
require __DIR__ . '/vendor/autoload.php'; use \Amalfra\GiantBomb\Client as GiantBomb;
现在创建一个新的对象
$config = array( 'token' => 'YOUR_KEY', ); $gb_obj = new GiantBomb($config);
现在可以使用实例调用可用的 API 方法。所有来自 API 的结果都将作为对象返回。如果返回的状态码不是 200,则会抛出异常。
当前可用方法
缓存
您可以通过配置缓存来防止在再次进行相同查询时调用 API。目前支持的缓存方法有
- inmemory: 缓存将存储在内存数组中。脚本退出后不会持久化。
- redis: 缓存将存储在可配置的 redis 存储中。
可以使用 GiantBomb 实例的 set_cache_provider
方法配置缓存。如果没有配置缓存,则禁用缓存,每次调用方法时都会调用 API。 set_cache_provider
方法接受两个参数
- [必需] 缓存类型,例如:inmemory、redis 等
- [可选] 一个关联数组,其中包含设置缓存方法所需的其他配置详细信息,例如:redis 服务器的主机和端口值
使用 inmemory 缓存方法
此方法不需要除激活外任何额外的配置选项,只需通过调用以 inmemory
作为第一个参数的 set_cache_provider
方法即可激活。例如
$gb_obj->set_cache_provider('inmemory');
使用 redis 缓存方法
可以通过调用以 redis
作为第一个参数的 set_cache_provider
方法激活此方法。您还需要指定 redis 服务器的主机和端口作为第二个参数。例如
$gb_obj->set_cache_provider('redis', array('host' => 'localhost', 'port' => 6379));
开发
有疑问、问题或建议?请在 问题跟踪器 上发布。
您可以通过叉取项目并提交拉取请求来贡献更改。随时贡献 😍
MIT 许可证下
MIT 许可证(MIT)
版权所有 © 2013 Amal Francis
在此特此授予任何获得此软件及其相关文档文件(“软件”)副本的人免费权利,无需支付任何费用,用于不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向获得软件的人提供软件,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生的,与软件或其使用或其他方式有关。