Silex service provider for Bernard

0.5.0 2014-02-04 14:54 UTC

This package is not auto-updated.

Last update: 2024-05-20 12:42:46 UTC


Build Status

Brings Bernard to Silex.

Getting Started

Add the requirement to your composer.json file and register it with you Application.

    "require" : {
        "bernard/silex" :  "~0.4@dev"

$app = new Silex\Application;
$app->register(new Bernard\Silex\BernardServiceProvider, array(
    'bernard.options' => array(
        'driver' => 'doctrine', // or redis, predis, sqs, iron_mq
        'serializer' => 'symfony', // or jms or simple

After that you have to make a decision about what driver and what kind of Serializer you want to use.

The following serializers are supported:

  • Simple. No dependencies and it is the default.
  • JMS Serializer. Requires a service with id jms_serializer and jms_serializer.builder is present.
  • Symfony Serializer. Requires SerializerServiceProvider is registered before this provider.

The following drivers are supported:

Registering with the ServiceResolver

The ServiceResolver enabled supports service ids. This means they are lazy loaded when they are needed instead of when they are registering.

Register with an array of MessageName => ServiceId like so:


$app['bernard.receivers'] = array(
    'ImportUsers' => 'users_worker',


If there is a service named console the consume command will be automatically registred. For advanced usecases see the official documentation on Bernard.