Slide 137
Slide 137 text
use Symfony\Component\EventDispatcher\EventDispatcher;
$dispatcher = new EventDispatcher();
$diskLogger = new DiskLogger('/logs/prod.log');
$twitter = new Twitter('demcrookidwigitz', 'b3@tb0Xpr0$');
$bossEmail = 'boss@demcrookidwigitz.com';
// Wire listeners
$listener = new CustomerEmailListener(new WelcomeEmail());
$dispatcher->addListener('customer.register', array($listener, 'onRegister'));
$listener = new BossNewCustomerEmailListener(new BossNewCustomerEmail($bossEmail));
$dispatcher->addListener('customer.register', array($listener, 'onCustomerRegister'));
$listener = new BossCancelOrderEmailListener(new BossCancelOrderEmail($bossEmail));
$dispatcher->addListener('customer.order.cancel', array($listener, 'onCancelOrder'));
$listener = new OrderLoggerListener($diskLogger);
$dispatcher->addListener('order.new', array($listener, 'onNewOrder'));
$dispatcher->addListener('order.cancel', array($listener, 'onCancelOrder'));
$listener = new TwitterListener($twitter);
$dispatcher->addListener('order.new', array($listener, 'tweetAtOrderer'));
FINISH