PHPstack is meant to be an easy to use PHP wrapper for the Stack Exchange API.
<?php require_once('lib/requestcore.class.php'); require_once('phpstack.class.php'); $so = new PHPstack('stackoverflow.com', 'yourAPIKey'); $answer = $so->getAnswers(2921234)); print_r($answer); ?>
Returns the response from the SE object as a PHP object accessible from
$answer->body, with additional details about the request available from
$answer->header. This means you can easily check your rate limits - as they are available by default.
ResponseCore Object ( [header] => Array ( [server] => nginx [date] => Thu, 27 May 2010 16:21:28 GMT [content-type] => application/json; charset=utf-8 [connection] => close [cache-control] => private [content-encoding] => gzip [x-aspnetmvc-version] => 2.0 [x-ratelimit-max] => 10000 [x-ratelimit-current] => 9989 [x-aspnet-version] => 2.0.50727 [content-length] => 497 [_info] => Array ( [url] => http://api.stackoverflow.com/0.8/answers/2921234?key=yourAPIKey [content_type] => application/json; charset=utf-8 [http_code] => 200 [header_size] => 337 [request_size] => 359 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.686 [namelookup_time] => 0 [connect_time] => 0.218 [pretransfer_time] => 0.218 [size_upload] => 0 [size_download] => 497 [speed_download] => 724 [speed_upload] => 0 [download_content_length] => 497 [upload_content_length] => -1 [starttransfer_time] => 0.686 [redirect_time] => 0 [method] => GET ) ) [body] => stdClass Object ( [total] => 1 [page] => 1 [pagesize] => 30 [answers] => Array (  => stdClass Object ( [answer_id] => 2921234 [accepted] => [answer_comments_url] => /answers/2921234/comments [question_id] => 2921179 [owner] => stdClass Object ( [user_id] => 252591 [user_type] => registered [display_name] => Crozin [reputation] => 2960 [email_hash] => 06407bae4ac071e63df00ec6e34ed5ac ) [creation_date] => 1274964794 [last_activity_date] => 1274964794 [up_vote_count] => 1 [down_vote_count] => 0 [view_count] => 12 [score] => 1 [community_owned] => [title] => How to get parameters from the URL to the model in cakePHP? ) ) ) [status] => 200 )
PHPstack is a wrapper for the StackExchange API. Currently it only supports making API requests through the provided methods but I intend to expand it to provide a variety of additional helper functions.
PHPstack is released under a BSD license.
Download it from Github. (Download source is in the top right)
PHPstack should work on any host with PHP5 and CURL enabled.
[RequestCore] is used for all the API requests, and I recommend that you check out the project it was developed for, CloudFusion, an awesome wrapper for AWS.
The code can be downloaded from Github, and I'll happily commit any improvements you make to the code - just fork it and send me a pull request.
The code is kinda self-documenting, the method names describe exactly what's happening.
- Pagination helpers