2017 © Pedro Peláez
 

library push-php

Push notifications for mobile devices based on the Symfony Components

image

authbucket/push-php

Push notifications for mobile devices based on the Symfony Components

  • Tuesday, July 5, 2016
  • by hswong3i
  • Repository
  • 3 Watchers
  • 8 Stars
  • 236 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 33 Versions
  • 0 % Grown

The README.md

AuthBucket\Push

Build Status Coverage Status Dependency Status Latest Stable Version Total Downloads License, (*1)

The primary goal of AuthBucket\Push is to develop a library for sending out push notifications to mobile devices; secondary goal would be develop corresponding wrapper Symfony2 Bundle and Drupal module., (*2)

This library bundle with a Silex based AuthBucketPushServiceProvider for unit test and demo purpose. Installation and usage can refer as below., (*3)

Installation

Simply add a dependency on authbucket/push-php to your project's composer.json file if you use Composer to manage the dependencies of your project., (*4)

Here is a minimal example of a composer.json:, (*5)

{
    "require": {
            "authbucket/push-php": "~3.0"
    }
}

Parameters

The bundled AuthBucketPushServiceProvider come with following parameters:, (*6)

  • authbucket_push.model: (Optional) Override this with your own model classes, default with in-memory AccessToken for using resource firewall with remote debug endpoint.
  • authbucket_push.model_manager.factory: (Optional) Override this with your backend model managers, e.g. Doctrine ORM EntityRepository, default with in-memory implementation for using resource firewall with remote debug endpoint.

Services

The bundled AuthBucketPushServiceProvider come with following services controller which simplify the Push controller implementation overhead:, (*7)

  • authbucket_push.push_controller: Push endpoint controller.

Registering

If you are using Silex, register AuthBucketPushServiceProvider as below:, (*8)

$app->register(new AuthBucket\Push\Provider\AuthBucketPushServiceProvider());

Moreover, enable following service providers if that's not already the case:, (*9)

$app->register(new AuthBucket\OAuth2\Provider\AuthBucketOAuth2ServiceProvider());
$app->register(new Silex\Provider\MonologServiceProvider());
$app->register(new Silex\Provider\SecurityServiceProvider());
$app->register(new Silex\Provider\ValidatorServiceProvider());

Demo

The demo is based on Silex and AuthBucketPushServiceProvider. Read though Demo for more information., (*10)

You may also run the demo locally. Open a console and execute the following command to install the latest version in the push-php directory:, (*11)

$ composer create-project authbucket/push-php authbucket/push-php "~1.0"

Then use the PHP built-in web server to run the demo application:, (*12)

$ cd authbucket/push-php
$ ./app/console server:run

If you get the error There are no commands defined in the "server" namespace., then you are probably using PHP 5.3. That's ok! But the built-in web server is only available for PHP 5.4.0 or higher. If you have an older version of PHP or if you prefer a traditional web server such as Apache or Nginx, read the Configuring a web server article., (*13)

Open your browser and access the http://127.0.0.1:8000 URL to see the Welcome page of demo application., (*14)

Also access http://127.0.0.1:8000/admin/refresh_database to initialize the bundled SQLite database with user account admin:secrete., (*15)

Documentation

Push's documentation is built with Sami and publicly hosted on GitHub Pages., (*16)

To built the documents locally, execute the following command:, (*17)

$ composer sami

Open build/sami/index.html with your browser for the documents., (*18)

Tests

This project is coverage with PHPUnit test cases; CI result can be found from Travis CI; code coverage report can be found from Coveralls., (*19)

To run the test suite locally, execute the following command:, (*20)

$ composer phpunit

Open build/logs/html with your browser for the coverage report., (*21)

References

License

The Versions