PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Mohamed Aymen Ben Slimane   Exceptionizer Bundle   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Auxiliary data
Class: Exceptionizer Bundle
Throw exceptions that can be caught with listeners
Author: By
Last change: Update README.md
Date: 9 years ago
Size: 2,818 bytes
 

Contents

Class file image Download

exceptionizer-bundle SensioLabsInsight

Build Status Scrutinizer Code Quality

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.