oliverearl / php-hashnode
一个轻量级的面向对象库,用于与 Hashnode 的 GraphQL API 交互。
Requires
- php: ^7.4 || ^8.0
- gmostafa/php-graphql-client: ^1.8
- gmostafa/php-graphql-oqm: ^1.2
Requires (Dev)
- codacy/coverage: ^1.4.0
- fzaninotto/faker: ^1.9
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-10-03 13:23:52 UTC
README
PHP 的非官方 Hashnode API 包装器
一个轻量级的面向对象库,用于与 Hashnode 的 GraphQL API 交互。
探索文档 »
查看示例 · 报告错误 · 请求功能
关于此项目
构建工具
入门
要启动本地副本,请按照以下简单步骤操作。
先决条件
安装
-
克隆仓库
git clone https://github.com/oliverearl/php-hashnode.git
-
安装 Composer 包
composer install
一旦库达到更完整的状态,它将通过 Composer 提供安装。
使用方法
安装后,库即可即插即用。可以创建客户端实例和 GraphQL 根查询对象,如下所示
$client = new Hashnode(); $query = new RootQuery();
如果您希望指定对默认 Hashnode 端点的覆盖,并且/或者指定您的 Hashnode API 令牌(如果您需要,您可以在 此处 获取一个),您可以将它们作为构造函数参数添加。 目前大多数操作不需要 API 令牌。
$client = new Hashnode('https://some-alternative-endpoint.hashnode.com', [ 'Authorization' => 'my-api-key-goes-here' ]);
记住,在交互 GraphQL API 时,您必须明确指出您想要请求的信息。如果您想请求包含标题、日期和作者用户名的故事源,您可以这样做
(另外,这假设您使用 'use 语句' 并且不必完全解析命名空间。)
$query->selectStoriesFeed((new RootStoriesFeedArgument())->setType('NEW')) ->selectTitle() ->selectDateAdded() ->selectAuthor((new AuthorArgument())) ->selectUsername(); $results = $client->runQuery($query->getQuery())->getData();
路线图
以下是在即将发布的版本中的路线图
-
需要 API 密钥的 API 行为(创建、更新、删除)
-
更改以使库更易于使用,并可能减少对底层 GraphQL 库的依赖
-
更干净、更不像是千层面般的代码
-
集成 PHPUnit 测试
此外,请参阅 开放问题 以获取用户提议的功能列表(以及已知问题)。
贡献
贡献是使开源社区成为一个如此美妙的学习、灵感和创造的地方的原因。您所做出的任何贡献都将受到高度赞赏。
特别欢迎的贡献
-
修复错误和对现有功能的改进。
-
满足 API 未实现区域的新的功能。
-
对现有功能或生产额外的 PHPUnit 测试的改进。
-
文档,包括源代码和
docs目录。 -
在
examples目录中使用库的示例。
说明
- 分支项目
- 创建你的功能分支(
git checkout -b feature/AmazingFeature) - 提交你的更改(
git commit -m 'Add some AmazingFeature') - 推送到分支(
git push origin feature/AmazingFeature) - 打开Pull Request
测试
使用composer run test命令行运行PHPUnit测试套件,前提是已完整安装Composer。
或者,你可以运行composer run testdox来获取易于阅读的testdox。
许可
在MIT许可下分发。有关更多信息,请参阅LICENSE。
联系
Oliver Earl - oliver@oliverearl.co.uk
项目链接:https://github.com/oliverearl/php-hashnode