2017 © Pedro Peláez
 

library laravel-semaphore

Semaphore integration to Laravel's notification layer.

image

artisan/laravel-semaphore

Semaphore integration to Laravel's notification layer.

  • Sunday, September 17, 2017
  • by artisan
  • Repository
  • 3 Watchers
  • 0 Stars
  • 23 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Semaphore PHP

Latest Stable Version License, (*1)

This is a PHP client for the Semaphore SMS service provider with out of the box Laravel integration., (*2)

Installation

Install via composer:, (*3)

composer require humans/semaphore-sms

To start using the library, we'll have to provide the Sempahore API key., (*4)

Send a message

$client = new Client(

  '<SEMAPHORE API KEY>',

  // If the sender is left blank, SEMAPHORE will be the default sender name.
  '<SENDER>',

);

$client->message()->send('0917xxxxxxx', '<Your message here>');

Laravel Integration

If you're using Laravel, we have some conveniences set up for you. First off, you can set your API key and sender name in your .env file., (*5)

SEMAPHORE_API_KEY=xxxxxxxx
SEMAPHORE_SENDER_NAME=xxxxxxxx

If you have package discovery disabled, make sure to register the Humans\Semaphore\Laravel\ServiceProvider in your app.php., (*6)

Send a message

You can use the Semaphore facade provided by the package., (*7)

use Humans\Semaphore\Laravel\Facades\Semaphore;

Semaphore::message()->send(
    '0917xxxxxxx',
    '<Your message here>'
);

Using Notifications

If you want to use Laravel's Notification features, this package provides a SemaphoreChannel and SemaphoreMessage class., (*8)

Configure your Notifiable

In your notifiable class, add a routeNotificationForSempahore method and use the database column that holds the mobile number., (*9)

class User {
    use Notifiable;

    // ...

    public function routeNotificationForSemaphore()
    {
        return $this->mobile_number;
    }
}

Using Notifications

use Humans\Semaphore\Laravel\Contracts\UsesSemaphore;

class Welcome extends Notification implements UsesSemaphore
{
    public function via($notifiable): array
    {
        return [SemaphoreChannel::class];
    }

    public function toSemaphore($notifiable): SemaphoreMessage
    {
        return (new SemaphoreMessage)
            ->message('<Your message here>');
    }
}

User::first()->notify(new Welcome);

Using on-demand Notifiables

In the case where you need to send a message but you don't need a model, this package also supports Laravel's on-demand notifications., (*10)

use Humans\Semaphore\Laravel\SemaphoreChannel;use Illuminate\Support\Facades\Notification;

Notification::route(SemaphoreChannel::class, '0917xxxxxxx')->notify(new Welcome);

The Versions

17/09 2017

dev-master

9999999-dev

Semaphore integration to Laravel's notification layer.

  Sources   Download

MIT

The Requires

 

by Jaggy Gauran

laravel sms notification semaphore

17/09 2017

1.0.1

1.0.1.0

Semaphore integration to Laravel's notification layer.

  Sources   Download

MIT

The Requires

 

by Jaggy Gauran

laravel sms notification semaphore

17/09 2017

1.0.0

1.0.0.0

Semaphore integration to Laravel's notification layer.

  Sources   Download

MIT

The Requires

 

by Jaggy Gauran

laravel sms notification semaphore