academicpuma / restclient-php
PHP REST Client for PUMA and BibSonomy.
Requires
- php: ^7.2 || ^8.0
- ext-curl: *
- ext-dom: *
- ext-json: *
- ext-libxml: *
- ext-mbstring: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^6.3 || ^7.2
- guzzlehttp/oauth-subscriber: ^0.6
Requires (Dev)
- phpunit/phpunit: ^8.4
- dev-master
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-develop
- dev-release/1.0.4
- dev-release/1.0.0
- dev-release/1.0.1
- dev-release/1.0.3
This package is auto-updated.
Last update: 2024-12-14 13:30:36 UTC
README
The restclient-php library is a full-featured REST Client for PUMA and BibSonomy written in PHP. This library uses Guzzle HTTP Client for HTTP requests.
Table of Contents
[TOC]
Features
- provides all functions that are supported by the PUMA/BibSonomy API
- contains model classes for easy data handling
- supports BasicAuth authentication
- supports OAuth authentication
- easy to use with the help of the Composer Autoloader and PHP Namespaces.
System requirements
- PHP 7.2.0 or higher
- PHP Extensions: dom, libxml, json, curl
- Composer
Changelog
Version 1.2.5
- Fix issue with unknown attributes, when unserializing XML
- Fix warnings for ArrayAccess implementations
Version 1.2.4
- Accessors can now pass a proxy to the guzzle client
- Fixed incorrect namespace for Simhash Utils
Version 1.2.3
- Fixed sorting by authors with fallback to editors
Version 1.2.2
- Set types for model getter and setter
- Refactoring and commenting the model
- Fixed empty lists being rendered in XML
Version 1.2.1
- Adjust to PHP 7.2 language level
Version 1.2.0
- BibSonomy OAuth is now part of this package
- Removed dependency for citation rendering related packages
- Using full name spaces
- Updated guzzle version
- Supporting BibSonomy default entrytypes instead of using CSL types
Version 1.1.0
- Add support for BibSonomy 4.0.0
Getting started
Installation
- Get Composer here: (https://getcomposer.org/download/ "Download Composer")
- Install Composer: (https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx "How To Install Composer")
- Add the restclient to your "requires" within composer.json file:
"require" : {
"academicpuma/restclient-php": "^1.2"
}
More information about Composer you will find here
Creating a Client
In order to instantiate a RESTClient object, an Accessor object has to be created. It holds authentication information, the base URL which will be prepend to all HTTP requests, and the RESTClient itself. There are two available Accessor classes. One for "BasicAuth" and one for "OAuth".
The RESTClient constructor expects an Accessor object.
<?php
require 'path/to/vendor/autoload.php';
use AcademicPuma\RestClient\Authentication\BasicAuthAccessor;use AcademicPuma\RestClient\RESTClient;
$basicAuthAccessor = new BasicAuthAccessor('http://puma.uni-kassel.de', 'John_Doe', '123abc456def');
$restClient = new RESTClient($basicAuthAccessor);
?>
More Information about Accessors you will find here.
Making requests
Simply call a method on a RESTClient object to trigger the specified REST-API method:
<?php
echo $restClient->getPosts()->xml();
?>
Get more Information about requests
Information retrieved from the REST-API can also be comfortably represented in form of Model-Objects:
<?php
$posts = $restClient->getPosts()->model();
$post = $posts[0];
echo $post->getResource()->getTitle();
?>
OAuth for PUMA and BibSonomy
Have a look at https://bitbucket.org/bibsonomy/restclient-php/wiki/OAuth for using restclient-php with OAuth authentication.