Thanks for your library first of all. 

I am not very comfortable posting this doubts here, doesn't seem the right place... let know if you want me to delete this "answer". 

I had a problem with the cache while instantiating UserExchange:

    $so = new UserExchange('stackoverflow','myapikey', 0);

But I realized the cache was still active even when passed `$cache_ttl=0` as above (I wanted it disable for testing). I checked out your constructor of UserExchange and see that you are calling the parent StackBase constructor with ttl=10 , overriding any value that is passed in the constructor of a UserExchange. Is this intentional? 

UserExchange.php line 20:

    parent::__construct( $site, $key, $cache_ttl = 10 );

And another doubt about the caching. In the StackBase class you set up:

    public $_cache_path = "cache/";

but then I can't see **$_cache_path** being used anywhere, the cache methods use hard coded paths. I guess this is just because you haven't have the time to complete this part?

Lines 437 to 439 in StackBase.php (startCache method):

    if( !is_dir("cache/") )
        {
            if( !mkdir("cache/") ) {
                // ...