xvilo/hackernews-client

A HackerNews client library using the official API.

v0.1.0 2022-08-22 09:03 UTC

This package is auto-updated.

Last update: 2024-05-22 13:20:23 UTC


README

A HackerNews API Wrapper, it's based on the official Firebase API provided at HackerNews/api. In its current form, it supports all endpoints with basic calls, this will be expanded in the future.

Installation

You can install this package through composer, the easiest way is to:

composer require xvilo/hackernews-client

You will also need an implementation of php-http/client-implementation.

Usage

<?php
declare(strict_types=1);   

// This file is generated by Composer
require_once __DIR__ . '/vendor/autoload.php';

// Create Client Instance
$client = new \Xvilo\HackerNews\Client();

// Call endpoint
var_dump(
    $client->item()->getItem(8863)
);

//array(9) {
//    'by' =>
//    string(8) "dhouston"
//    'descendants' =>
//    int(71)
//    'id' =>
//    int(8863)
//    [...]

API Scopes

  • Item
    • getItem(int $id): array;
  • User
    • getUser(string $username): array;
  • FrontPage
    • getTopStories(): array
    • getNewStories(): array
    • getBestStories(): array
    • getAskStories(): array
    • getShowStories(): array
    • getJobStories(): array
  • MetaData
    • getMaxItem(): int
    • getUpdates(): array

FAQ

php-http/client-implementation needed

If you try to install this package and get the following error:

xvilo/hackernews-client 1.0.0 requires php-http/client-implementation ^1.0 -> no matching package found

Please install a PHP HTTP library such as Guzzle or Symfony HttpClient Component:

composer require symfony/http-client

or

composer require php-http/guzzle6-adapter