pnoeric/discourse-api-php

Discourse API library for PHP

2.0.0 2020-04-29 12:28 UTC

This package is auto-updated.

Last update: 2024-04-23 20:40:21 UTC


README

This is a composer packaged version of the PHP library for accessing the Discourse API.

More about Discourse: https://www.discourse.org/

Discourse API docs: https://docs.discourse.org/

Features

  • Supports header-based authentication (required by Discourse as of April 2020)
  • Includes test suite for developers

Changelog

  • 2.1 - Fixing a nasty little bug

History

Originally as published by DiscourseHosting at https://github.com/discoursehosting/discourse-api-php.

With contributions from:

Many methods added and major refactor by Eric Mueller March/April 2020, now lives at https://github.com/pnoeric/discourse-api-php.

How to Use

Just include it with Composer: composer require pnoeric/discourse-api-php

And then:

// set up key in Discourse first - recommend system key for all users
$key = 'my-secret-discourse-api-key';
$hostname = 'forums.example.com';

$api = new \pnoeric\DiscourseAPI($hostname, $key);

// and you're off and running!
// look through the src/DiscourseAPI.php file for methods
// for example:
$results = $api->getTopTopics();

// if you aren't sure what the API returns from a call, just look at it:
$results = $api->getUserByDiscourseId( 1 );
var_dump($results);

// you can also get a lot of info from the tests (see tests/DiscourseApiTest.php).

For Developers

I'd love to see your changes and improvements to this library! Please feel free to submit a pull request, and please include a new test if you are adding/refactoring methods.

Testing

Setup

  1. Run composer install to install PHPUnit and other helper libraries
  2. Copy the .env.example file in the tests folder, change the name to .env and fill in the blanks

Running tests

In the terminal, from the root directory of this project, enter: ./vendor/bin/phpunit tests/DiscourseApiTest.php