Logger, Dispatcher & Configuration¶
Logger¶
Stores a reference to your logger so that you can easily access it from anywhere in the stack. Compatible with any PSR-3 Logger.
use Monolog\Logger as Monolog;
use Monolog\Handler\SyslogHandler;
use Monolog\Processor\GitProcessor;
use Monolog\Processor\IntrospectionProcessor;
use Monolog\Processor\MemoryUsageProcessor;
use Monolog\Processor\UidProcessor;
use Skyzyx\Shared\Logger;
// Construct a PSR-3 Logger object
$logger = new Monolog('my_app');
$handler = new SyslogHandler('my_app');
$handler->pushProcessor(new GitProcessor());
$handler->pushProcessor(new IntrospectionProcessor());
$handler->pushProcessor(new MemoryUsageProcessor());
$handler->pushProcessor(new UidProcessor());
$logger->pushHandler($handler);
# Setup multiple loggers; each may be configured differently.
Logger::set('my_app', $logger);
Logger::set('my_second_app', Logger::create('my_second_app'));
// ...later...
Logger::get('my_app')->info('This is my INFO message!');
Logger::get('my_app')->debug('This is my DEBUG message!');
Dispatcher¶
Stores a reference to your event dispatcher so that you can easily access it from anywhere in the stack. Compatible with Symfony EventDispatcher.
use Skyzyx\Shared\Dispatcher;
use Symfony\Component\EventDispatcher\Event;
use Symfony\Component\EventDispatcher\EventDispatcher;
// Use EventDispatcher as a globally-accessible event system
Dispatcher::setDispatcher(new EventDispatcher());
// ...later...
// Register an event with the dispatcher
Dispatcher::get()->addListener('event_name', function (Event $event) {
// Do stuff
});
// ...later, still...
Dispatcher::get()->dispatch('event_name');
Configuration¶
Stores a reference to your configuration data so that you can easily access it from anywhere in the stack. Compatible with Pimple.
use Pimple\Container as Pimple;
use Skyzyx\Shared\Configuration;
# Use Pimple as a globally-accessible config store
Configuration::setContainer(new Pimple());
// ...later...
$config = Configuration::get();
$config['user.id'] = 'abc123';
// ...later, still...
$config = Configuration::get();
echo sprintf('The user's identifier is %s.', $config['user.id']);