Skip to content

Instantly share code, notes, and snippets.

@makasim
Created December 8, 2011 10:31
Show Gist options
  • Save makasim/1446666 to your computer and use it in GitHub Desktop.
Save makasim/1446666 to your computer and use it in GitHub Desktop.
BadaBoom usecase example
<?php
require_once 'autoload.php';
$filterClass = new \BadaBoom\ChainNode\Filter\ExceptionClassFilter();
$filterClass->allow('Exception');
$summaryProvider = new \BadaBoom\ChainNode\Provider\ExceptionSummaryProvider();
$subjectProvider = new \BadaBoom\ChainNode\Provider\ExceptionSubjectProvider();
$config = new \BadaBoom\DataHolder\DataHolder();
$config->set('sender', '[email protected]');
$config->set('recipients', array('[email protected]'));
$config->set('subject', 'Super puper error');
$config->set('format', 'text');
$config->set('headers', array());
$mailAdapter = new \BadaBoom\Adapter\Mailer\NativeMailerAdapter;
$serializer = new \Symfony\Component\Serializer\Serializer(
array('text' => new \BadaBoom\Serializer\Normalizer\DataHolderNormalizer()),
array('text' => new \BadaBoom\Serializer\Encoder\TextEncoder())
);
$mailSender = new \BadaBoom\ChainNode\Sender\MailSender($mailAdapter, $serializer, $config);
$filterClass
->nextNode($summaryProvider)
->nextNode($subjectProvider)
->nextNode($mailSender);
$callback = new \BadaBoom\Callback($filterClass);
$cather = new UniversalErrorCatcher_Catcher();
$cather->setThrowRecoverableErrors(true);
$cather->registerCallback(array($callback, 'handleException'));
$cather->start();
include 'exception.php';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment