matthewfl/restful

Library for writing RESTful PHP clients.

Installs: 20 112

Dependents: 2

Watchers: 3

Forks: 13

Open Issues: 1

Language: PHP

1.0.3 2014-04-29 16:43 UTC

README

Library for writing RESTful PHP clients.

Build Status

The design of this library was heavily influenced by Httpful.

Requirements

Issues

Please use appropriately tagged github issues to request features or report bugs.

Installation

You can install using composer, a phar package or from source. Note that RESTful is PSR-0 compliant:

Composer

If you don't have Composer install it:

$ curl -s https://getcomposer.org/installer | php

Add this to your composer.json:

{
    "require": {
        "bninja/restful": "*"
    }
}

Refresh your dependencies:

$ php composer.phar update

Then make sure to require the autoloader and initialize both:

<?php
require(__DIR__ . '/vendor/autoload.php');

Httpful\Bootstrap::init();
RESTful\Bootstrap::init();
...

Phar

Download an Httpful phar file, which are all here:

$ curl -s -L -o httpful.phar https://github.com/downloads/nategood/httpful/httpful.phar

Download a RESTful phar file, which are all here:

$ curl -s -L -o restful.phar https://github.com/bninja/restful/downloads/restful-{VERSION}.phar

And then include both:

<?php
include(__DIR__ . '/httpful.phar');
include(__DIR__ . '/restful.phar');
...

Source

Download Httpful source:

$ curl -s -L -o httpful.zip https://github.com/nategood/httpful/zipball/master;
$ unzip httpful.zip; mv nategood-httpful* httpful; rm httpful.zip

Download the RESTful source:

$ curl -s -L -o restful.zip https://github.com/bninja/restful/zipball/master
$ unzip restful.zip; mv bninja-restful-* restful; rm restful.zip

And then require both bootstrap files:

<?php
require(__DIR__ . "/httpful/bootstrap.php")
require(__DIR__ . "/restful/bootstrap.php")
...

Usage

TODO

Testing

$ phpunit --bootstrap vendor/autoload.php tests/

Publishing

  1. Ensure that all tests pass
  2. Increment minor VERSION in src/RESTful/Settings and composer.json (git commit -am 'v{VERSION} release')
  3. Tag it (git tag -a v{VERSION} -m 'v{VERSION} release')
  4. Push the tag (git push --tag)
  5. Packagist will see the new tag and take it from there
  6. Build (build-phar) and upload a phar file

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Write your code and tests
  4. Ensure all tests still pass (phpunit --bootstrap vendor/autoload.php tests/)
  5. Commit your changes (git commit -am 'Add some feature')
  6. Push to the branch (git push origin my-new-feature)
  7. Create new pull request