Interesting PHP Quirk w/require_once

So as many of you astute readers may have noticed, we use PHP on the backend. Nathan and I ran into a curious quirk today; if you do a require_once() in a function’s context, the variables set in the required file are not visible as globals once the function returns, even to functions in the required file.

The moral of the story? If you use globals in your includes, put all the require_once()s that you might need at the top of your PHP. Don’t try and be clever with conditional inclusion of your libraries.
Continue reading “Interesting PHP Quirk w/require_once”

The PBwiki API

So we’re going to be working on an API for all you PBwiki coders out there to make it easy to pull PBwiki content into applications and other web services, push content from other sources into PBwiki, and get alerted when a wiki is updated. We’re just in the first design phases of rolling out the API – check out our official Developer Wiki at for more information as it comes out or put in your two cents about what you’d like to see on the developer forums. 🙂

A busy week for PBwiki

We’ve just started to settle in at our new offices in San Bruno. This is a big step up for our little company! It’s been as much as a year of work-from-home and squatting at local cafes for the team. We also welcome Emily, our great new admin. In addition, here we are posting to our new blog. I’ve always been a little suspicious of blogs but it’s an effective way to spread the word about what PBwiki is up to and to keep in touch with our current and potential users and partners.