Downloadexceptionizer-bundle      
    
Play with Exceptions :D
This bundle help to get a low coupling between exception class object in your code 
Installation
Exceptionizer uses Composer, please checkout the composer website for more information. 
The simple following command will install exceptionizer-bundle into your project. It also add a new
entry in your composer.json and update the composer.lock as well. 
$ composer require 'mabs/exceptionizer-bundle'
 
Then, you can enable it in your kernel: 
// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        ...
        new Mabs\ExceptionizerBundle\MabsExceptionizerBundle(),
        ...
 
Usage
Now you can use Exceptionizer service to throw Exceptions: 
$this->container->get('exceptionizer')
->throwException('\\Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException', array('Your message'));
 
OR define your Exception in your config.yml file like this : 
mabs_exceptionizer:
    exceptions:
        bar_code_exception:
            class: Mabs\BarCodeBundle\Exception\BarCodeException
            arguments:                          # optional
                message: "bar code exception"   # optional
                code:  0                        # optional
 
and pass the config key to the service: 
$this->container->get('exceptionizer')->throwException('bar_code_exception');
 
Events and listener:
ExceptionizerBundle provide two events: 
namespace Mabs\ExceptionizerBundle;
final class ExceptionizerEvents
{
    const EXCEPTIONIZER_PRE_THROW = 'exceptionizer.pre_throw';
    const EXCEPTIONIZER_POST_CATCH = 'exceptionizer.post_catch';
}
 
<b>exceptionizer.pre_throw</b> :    before throw Exception 
<b>exceptionizer.post_catch</b>:    (will be documented later when we speak about the Exception Catcher) 
Now you can create Listeners to do a specific job when an exception will be thrown ;) and to learn more about the EventDispatcher Component in symfony2 pleaze read the documentation 
License
  This bundle is available under the MIT license. 
 |