PHP Classes

Exceptionizer Bundle: Throw exceptions that can be caught with listeners

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 103 All time: 9,771 This week: 455Up
Version License PHP version Categories
exceptionizer-bundle 1.0MIT/X Consortium ...5.3.9PHP 5, Language
Description 

Author

This package can throw exceptions that can be caught with listeners.

It can register Symfony observers that can listen to events and can be called before throwing an exception or after the exception is caught.

The exceptions may be thrown by name with parameters or read from configuration file in YAML format.

Picture of Mohamed Aymen Ben Slimane
  Performance   Level  

 

Documentation

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.


  Files folder image Files (19)  
File Role Description
Files folder imageDependencyInjection (2 files)
Files folder imageEvent (1 file)
Files folder imageEventListener (1 file)
Files folder imageException (1 file)
Files folder imageExceptionizer (2 files, 1 directory)
Files folder imageResources (1 directory)
Files folder imageService (1 file)
Files folder imageTests (1 directory)
Accessible without login Plain text file .scrutinizer.yml Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Plain text file ExceptionizerEvents.php Class Class source
Accessible without login Plain text file LICENSE Lic. Auxiliary data
Plain text file MabsExceptionizerBundle.php Class Class source
Accessible without login Plain text file README.md Doc. Auxiliary data

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:103
This week:0
All time:9,771
This week:455Up