DDD, Hexagonal Architecture & CQRS with Symfony and Doctrine

Posted on by

Example of a Symfony application using Domain-Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) principles keeping the code as simple as possible. The whole code can be found here. Environment Setup Needed tools Install Docker Clone this project: git clone https://github.com/salletti/symfony-ddd-example.git Move to the project folder: $ cd symfony-ddd-example Application execution If not already done, install Docker Compose Run docker-compose…

Just another PoC of Symfony on steroids
: Api Platform, Vue.js, Mercure and Panther

Posted on by

In this post I will show how simple it is to create a modern reactive application by harmoniously combining the elements listed below. PHP 7.2 Symfony 4.2.4 Api Platform Mercure Panther Vuejs The work of this article is inspired by the presentation of Kenvin Dunglas during the Symfony Live in Paris in March 2019. We’re…

From RabbitMqBundle to PhpEnqueue with Symfony Messenger

Posted on by

Today i try to explain how i migrate from RabbitMqBundle to PhpEnqueue using the Messenger component of Symfony. Stack PHP 7.2 Symfony 4.1 Starting Situation I have well installed RabbitMQ following simple tutorial Symfony 4 and RabbitMQ. So in my configuration file i have the following configuration: #config/packages/old_sound_rabbit_mq.yaml old_sound_rabbit_mq: enable_collector: false connections: default: url: ‘%env(RABBITMQ_URL)%’ lazy:…

CQRS is easy with Symfony 4 and his Messenger Component

Posted on by

Today i want to show you how to use The Messenger Component of Symfony. Very useful when your project implements the CQRS pattern. With an example, simplicity of use and practicality will be evident. Let’s assume that we have a service like this one: <?php namespace App\Domain\Service\Customer; use App\Domain\Command\Customer\DeleteCustomerCommand; use App\Domain\CommandHandler\Customer\DeleteCustomerCommandHandlerInterface; use App\Domain\Exception\Customer\CriteriaNotAllowedException; use App\Domain\Query\Customer\GetCustomerListQuery; use…

Symfony + Docker + Behat + BrowserStack: testing your app like a boss

Posted on by

Introduction My colleague Damien Gilbrin has a lot of experience about Behat. He just partecipate to a MeetUp where he explained how to properly use Behat also integrating Selenium and BrowserStack. Here the presentation in french language: Behat : https://www.damiengilbrin.fr/behat BrowserStack : https://www.damiengilbrin.fr/browserstack Now i will show you the practical example that Damien publish on github Stack…