Common interface for notification services.
Either PHP 5.5+ or HHVM 3.6+ are required.
To get the latest version of NotifyMe, simply require the project using Composer:
$ composer require notifymehq/notifyme
Instead, you may of course manually update your require block and run composer update
if you so choose:
{
"require": {
"notifymehq/notifyme": "^1.0"
}
}
If you want, you can require only a single adapter. This works rather like the component system of laravel or symfony. We currently have the following adapters:
- Ballou (
notifymehq/ballou
) - Campfire (
notifymehq/campfire
) - Gitter (
notifymehq/gitter
) - Hipchat (
notifymehq/hipchat
) - Pagerduty (
notifymehq/pagerduty
) - Pushover (
notifymehq/pushover
) - Slack (
notifymehq/slack
) - Twilio (
notifymehq/twilio
) - Webhook (
notifymehq/webhook
) - Yo (
notifymehq/yo
)
Also, note, that our other components are:
- Contracts (
notifymehq/contracts
) - Factory (
notifymehq/factory
) - Http (
notifymehq/http
) - Manager (
notifymehq/manager
) - Support (
notifymehq/support
)
Finally, we have a totally seperate Laravel bridge available for use by installing notifyme/laravel
, then adding our service provider: NotifyMeHQ\Laravel\NotifyMeServiceProvider
.
- Create a factory :
$factory = new NotifyMeHQ\Factory\NotifyMeFactory();
- Make a notifier :
$notifier = $factory->make($config);
- Notify :
$response = $notifier->notify($to, $message);
- Check the response :
$response->isSent();
Here is an example of a notification with Slack:
<?php
// Create a factory for notifications
$notifierFactory = new NotifyMeHQ\Factory\NotifyMeFactory();
// Create the new notification for slack
$slackNotifier = $notifierFactory->make([
// Specify that we will use slack
'driver' => 'slack',
// Add api token to get access to slack API
'token' => '',
// Who send this message, here is a bot called 'Super Bot'
'from' => 'Super Bot',
]);
/* @var \NotifyMeHQ\Contracts\ResponseInterface $response */
$response = $slackNotifier->notify('#sandbox', 'test message');
echo $response->isSent() ? 'Message sent' : 'Message going nowhere';
NotifyMe is licensed under The MIT License (MIT).