xvilo / hackernews-client
A HackerNews client library using the official API.
v0.1.0
2022-08-22 09:03 UTC
Requires
- php: ^8.1
- php-http/client-common: ^2.5
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.14
- php-http/httplug: ^2.3
- php-http/message-factory: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.10
- nyholm/psr7: ^1.5
- phpstan/phpstan: ^1.8
- rector/rector: ^0.14.0
- symfony/http-client: ^6.1
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