dstuecken / notify
Framework agnostic and lightweight notification system with several adapters.
Installs: 13 944
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 1
Open Issues: 0
Requires
- php: >=5.4.0
- psr/log: ~1.0
Requires (Dev)
- hipchat/hipchat-php: 1.2.*
- monolog/monolog: 1.*
- phpunit/phpunit: 4.0.*
- psr/log: ~1.0
- smarty/smarty: v3.1.*
- swiftmailer/swiftmailer: ~5.0.0
Suggests
- hipchat/hipchat-php: Enable HipChat notification
- swiftmailer/swiftmailer: Enable E-Mail notification
This package is auto-updated.
Last update: 2024-10-12 03:34:24 UTC
README
Framework agnostic and lightweight notification system implementing the PSR LoggerInterface with several handling adapters.
Feel free to implement your own handlers!
Requirements
- PHP 5.4
Installation
Using Composer
To install Notify with Composer, just add the following to your composer.json file:
{ "require": { "dstuecken/notify": "dev-master" } }
or by running the following command:
composer require dstuecken/notify
Usage
Use the Header Handler
<?php $notificationCenter = new NotificationCenter(); $notificationCenter->addHandler( new HeaderHandler('Notify', NotificationCenter::ERROR) ); $notificationCenter->error('There was an error.');
The Header handler is used to send an HTTP Header to the Browser in the following (changable) format: X-Notify-Notification. This header can then be grabed by a javascript implementation to display a nice and clean javascript error message while continuing the application with a normal response.
Use the Logger Handler
You can send your notifications to any LoggerInterface capable logger:
<?php $logger = new Logger('my-logger'); $notificationCenter = new NotificationCenter(); $notificationCenter->addHandler( new LoggerHandler($logger, NotificationCenter::ERROR) ); $notificationCenter->error('There was an error.');
Use the HipChat Handler
You can also send all your CRITICAL notifications to hipchat, for example:
<?php $hipchat = new HipChat\HipChat('apiKey123', ); $notificationCenter = new NotificationCenter(); $notificationCenter->addHandler( new HipChatHandler($hipchat, 'hipchat-room-id', NotificationCenter::CRITICAL, 'hipChatBotName') ); $notificationCenter->error('There was an error.');
Push your notifications to several Handlers
You can send your notifications to different handlers in different levels:
<?php $logger = new Logger('my-logger'); $notificationCenter = new NotificationCenter(); $notificationCenter ->addHandler( new HeaderHandler( 'Notify', NotificationCenter::INFO ) ) ->addHandler( new LoggerHandler(new Logger(), NotificationCenter::ERROR) ); $notificationCenter->error('There was an error.', HeaderHandler::formatAttributes(null, null, true));
Currently implemented Handlers
Header
Sends an HTTP Header, which can be observed by Javascript to represent errors as growl-like notification messages.
Logger
Forwards your notifications to a Logger, which implements the LoggerInterface.
MacOS
Displays a Mac OS X Notification Center Message.
HipChat
Drops notifications on your hipchat rooms.
NotifySend
Notify via Ubuntu's notification service.
Syslog
Send your notifications to a syslog (using the PHP syslog() function).
Smarty
Attach your notifications to a smarty template variable
Memory
Forward notifications to an array
Tests
Run phpunit tests with
phpunit --bootstrap tests/bootstrap.php tests