GithubHelp home page GithubHelp logo

galileowebagentur / tivoka Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marcelklehr/tivoka

0.0 0.0 0.0 287 KB

JSON-RPC client/server library for PHP (supports v1.0 and v2.0 specs)

Home Page: http://marcelklehr.github.com/tivoka

License: Other

PHP 100.00%

tivoka's Introduction

Tivoka

JSON-RPC client and server for PHP 5.3+

  • Easily switch between the v1.0 and v2.0 specs
  • HTTP, TCP and Websocket transports available

Examples

These are just some quick examples. Check out the docs in /doc/.

Do a request through HTTP...

<?php
$connection = Tivoka\Client::connect('http://example.com/api')
$request = $connection->sendRequest('substract', array(51, 9));
print $request->result;// 42
?>

...or plain TCP

<?php
$connection = Tivoka\Client::connect(array('host' => 'example.com', 'port' => 1234))
$request = $connection->sendRequest('substract', array(51, 9));
print $request->result;// 42
?>

...or WebSocket

<?php
$connection = Tivoka\Client::connect('ws://example.com/api')
$request = $connection->sendRequest('substract', array(51, 9));
print $request->result;// 42
?>

Create a server

<?php
$methods = array(
    'substract' => function($params) {
        list($num1, $num2) = $params
        return $num1 - $num2;
    }
);
Tivoka\Server::provide($methods)->dispatch();
?>

Links

  • Have a look at the documentation in doc/
  • Submit any bugs, suggestions or questions to the issue tracker

Installation

Install composer package

  1. Set up composer.json in your project directory:
{
  "require":{"tivoka/tivoka":"*"}
}
  1. Run composer:
$ php composer.phar install

Now, include 'vendor/autoload.php'

License

Copyright 2011-2012 by Marcel Klehr MIT License.

Changelog

3.5.1

  • Fix Http Connection

3.5.0

  • Add support for cookies if curl is installed (thanks to @oxan)

3.4.2

  • Fix HTTP via curl: Don't add a trailing newline for http headers (thanks to @oskarcafe)

3.4.1

  • Http: Use cURL if available (thanks to @hschletz)

3.4.0

  • Adding options to set/override request headers in WebSocket (thanks to @fiddur)

3.3.0

  • Add websocket transport (thanks to @fiddur)

3.2.1

  • Fix #41: Fix Exception catcher in Tivoka\Server\Server::process (thanks to @ikulis)

3.2.0

  • Feature: Plain TCP connections (revamped a lot of our internals along the way! thanks go out to @rafalwrzeszcz)
  • Feature: Configurable connection timeout

3.1.0

  • Fix #27: json-rpc response[result] may be null (thanks to @vaab)
  • Feature: Allow setting of request headers and expose response headers (thanks to @vaab)
  • Fix bug with client-side notifications
  • Add docs in doc/

3.0.1

  • Fix a typo, that used to screw up things when throwing an exception (thanks to @gahr)

3.0.0

  • use Namespaces (no longer supports php5.2)
  • new factory classes (per server/client)
  • Requests no longer require $id argument
  • Dramatically simplified serverside usage
  • Fluid spec version setter
  • Now available as composer package

2.0.3

  • Added HTTPS support
  • target scheme is now treated case insensitive

2.0.2

  • Introduced new directory structure
  • Fixed #10
  • Some Exception messages changed slightly to be more specific

2.0.1

  • Patched http method spelling (make uppercase, so all servers accept it)

2.0.0

  • complete Code base rework
  • major API change
  • removed Response Class
  • Added aa number of shortcuts
  • Implemented native remote interface

tivoka's People

Contributors

marcelklehr avatar vaab avatar skybardpf avatar jmkeyes avatar oxan avatar rafalwrzeszcz avatar fiddur avatar hschletz avatar shaneneuerburg avatar ikulis avatar william-gr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.