oliverearl/php-hashnode

一个轻量级的面向对象库,用于与 Hashnode 的 GraphQL API 交互。

v1.0.3 2023-09-03 10:59 UTC

This package is auto-updated.

Last update: 2024-10-03 13:23:52 UTC


README

Contributors Forks Stargazers Issues MIT License LinkedIn


PHP Hashnode

PHP 的非官方 Hashnode API 包装器

一个轻量级的面向对象库,用于与 Hashnode 的 GraphQL API 交互。
探索文档 »

查看示例 · 报告错误 · 请求功能

目录

  1. 关于此项目
  2. 入门
  3. 使用方法
  4. 路线图
  5. 贡献
  6. 许可
  7. 联系
  8. 致谢

关于此项目

构建工具

入门

要启动本地副本,请按照以下简单步骤操作。

先决条件

安装

  1. 克隆仓库

    git clone https://github.com/oliverearl/php-hashnode.git
  2. 安装 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目录中使用库的示例。

说明

  1. 分支项目
  2. 创建你的功能分支(git checkout -b feature/AmazingFeature
  3. 提交你的更改(git commit -m 'Add some AmazingFeature'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 打开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

致谢