Take the 2-minute tour ×
Stack Apps is a question and answer site for apps, scripts, and development with the Stack Exchange API. It's 100% free, no registration required.

PHPstack

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
                (
                    [0] => 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
)

About

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.

License

PHPstack is released under a BSD license.

Download

Download it from Github. (Download source is in the top right)

Platform

PHPstack should work on any host with PHP5 and CURL enabled.

Code

[RequestCore][3] 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.

Documentation

The code is kinda self-documenting, the method names describe exactly what's happening.

Roadmap

  • Pagination helpers
share|improve this question
    
Is this up to date? –  Nathan Osman Jun 16 '10 at 1:23
    
It is now, I believe. –  Thomas McDonald Jun 26 '10 at 20:15
    
Are the StackAuth methods supported? –  Nathan Osman Jun 26 '10 at 20:45
    
Yup, see update below, I could do with an upvote to push it above the comment though. :) –  Thomas McDonald Jun 26 '10 at 22:20
    
The Github link seems to be not working. –  Tails Aug 26 '11 at 12:19
    
I can't access the code anymore. –  Nathan Osman Oct 14 '11 at 6:22
    
where i get 'yourAPIKey' –  Bharanikumar Jan 25 '13 at 15:17
add comment

2 Answers

up vote 3 down vote accepted

Update 26-06-2010

PHPstack now works with SE API v0.9 and includes functions to retrieve data from StackAuth.

Example of StackAuth sites function:

<?php
  //assume $so is our PHPstack class
  $sites = $so->sites();
  foreach($sites->body->api_sites as $site) {
    echo $site->name;
  }
?>
share|improve this answer
add comment

It seem's you've updated some methods in the source since you wrote your code above (getAnswer is getAnswers) otherwise this works quite well so far.

share|improve this answer
2  
ah yes, I thought I'd updated the example, I'll change that now. It makes more sense to me for them to be plural if you can get multiple lots of them. (If that makes any sense at all) –  Thomas McDonald May 28 '10 at 19:14
add comment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .