wensleydale / sendpulse-laravel
A minimal service provider to set up and use the SendPulse PHP library in Laravel 5
Installs: 4 350
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 1
Forks: 3
Open Issues: 1
Requires
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-11-09 19:45:38 UTC
README
A service provider and facade to set up and use the SendPulse PHP library in Laravel 5.
This package consists of a service provider, which binds an instance of an initialized SendPulse client to the IoC-container and a SendPulse facade so you may access all methods of the SendpulseApi class via the syntax:
$message = ['title' => 'My first notification', 'website_id' => 1, 'body' => 'I am the body of the push message']; SendPulse::createPushTask($message);
You should refer to the SendPulse API and underlying SendPush PHP class for full details about all available methods.
Setup
-
Install the 'wensleydale/sendpulse-laravel' package
Note, this will also install the required wensleydale/sendpulse-rest-api-php package.
$ composer require wensleydale/sendpulse-laravel:1.*
-
Update 'config/app.php'
# Add `SendPulseLaravelServiceProvider` to the `providers` array 'providers' => array( ... 'SendPulse\SendPulseLaravel\SendPulseLaravelServiceProvider', ) # Add the `SendPushFacade` to the `aliases` array 'aliases' => array( ... 'SendPulse' => 'SendPulse\SendPulseLaravel\SendPulseFacade', )
-
Publish the configuration file (creates sendpulse.php in config directory) and add your API keys and optional default settings.
$ php artisan vendor:publish
Type Hinting
If you do not wish to make use of the SendPulse facade you may simply "type-hint" the SendPulse dependency in the constructor of a class that is resolved by the IoC container and an instantiated client will be ready for use.
use SendPulse\SendpulseApi; private $client; public function __construct(SendpulseApi $client) { $this->client = $client; } public function getWebsites() { $this->client->pushListWebsites(); }