tomcizek/symfony-prooph

Symfony Prooph Bundle which allows you to configure prooph components through yml symfony config.

2.0 2017-12-08 02:21 UTC

This package is not auto-updated.

Last update: 2024-04-18 16:38:26 UTC


README

Build Status Quality Score Code Coverage

Symfony Bundle extension for prooph toolbox family.

Why bother?

  1. It allows you to configure prooph libraries through Symfony *.yml config with same array structure as prooph interop factories have.
  2. It allows you to configure routes for asynchronous messaging with simple bridge interface to adapt your infrastructure.
New to Prooph, DDD, CQRS or Event Sourcing? Hunting for inspiration and learning sources?

Pros and cons

Cons

  • It uses interop factories, so services are created runtime, not compile time
  • It includes all major prooph components, so you might have vendor packages you might not be using (will be solved in future)
  • Still not fully tested in real production

Pros

  • It uses interop factories, so it does not mimicating prooph interop factories, thus 1] has all prooph default config features and 2] structure will never be out of date.
  • It includes all major prooph components, so it's easy to use when you want to use all major parts of prooph toolbox (I know that's alibistic).

Quick start

1) Install this library through composer

composer require tomcizek/symfony-prooph

2) Register these Bundles in your kernel (individually, but might be app/AppKernel.php)

public function registerBundles()
{
    $bundles = [
        // Other bundles...
        new Prooph\InteropBundle\ProophInteropBundle(),
        new TomCizek\SymfonyProoph\ProophBundle(),
    ];
}

3) Setup your configuration for prooph components in your symfony *.yml config!

Documentation

  1. Configuration
  2. Asynchronous messaging

Contribute

Please feel free to fork and extend existing or add new features and send a pull request with your changes! To establish a consistent code quality, please provide unit tests for all your changes and may adapt the documentation.