Skip to content


Subversion checkout URL

You can clone with
Download ZIP
PubSubHubbub Subscriber library for PHP
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


PuSH Subscriber

A PHP library that implements the PubSubHubbub spec for subscribers. Framework independent.


PHP 5.2 or higher with curl support.

Integration with host applications

Before you can start using the PuSHSubscriber library you need to prepare your host application following these four steps:

1) Implement PuSHSubscriberSubscriptionInterface and PuSHSubscriberEnvironmentInterface (see

2) Create a new path in the host application that is unique for every subscription. For example:


3) In the callback for the new path invoke the subscriber's request handler:

// MySubscription and MyEnvironment are the interfaces implemented in 1)
function my_pubsub_page($subscription_id) {
  $sub = PuSHSubscriber::instance('my_subs', $subscription_id, 'MySubscription', new MyEnvironment());

4) Note the 'my_pubsub_notification' parameter in the previous point? This is the callback that will be invoked if a notification has been received:

function my_pubsub_notification($raw) {
  // Parse and store the changed items.


1) Create a subscription:

$sub = PuSHSubscriber::instance('my_subs', 12, 'MySubscription', new MyEnvironment());

Note: The domain id 'my_subs' is merely for allowing multiple tiers in an application to use the PuSHSubscriber library simultaneously. MySubscription is an implementation of PuSHSubscriberSubscriptionInterface and MyEnvironment is an implementation of PuSHSubscriberEnvironmentInterface.

2) Subscribe to a hub for notifications:

$sub->subscribe('', '');

3) Unsubscribe from a hub:

$sub->unsubscribe('', '');
Something went wrong with that request. Please try again.