Sylius : e-commerce avec Symfony

Logo SyliusJuste un petit billet pour mettre en avant un framework e-commerce open-source basé sur Symfony, et qui commence à faire sa place : Sylius.

L’outil est développé sous forme de composants Symfony, le code est très propre et testé avec Behat.
La documentation est également bien faite, présentant d’abord les concepts principaux, puis les bonnes pratiques pour customiser/étendre les fonctionnalités du framework, et enfin quelques use-case sont présents dans le Cookbook.

Lire la suite

RabbitMQ et Symfony 4 : introduction

Logo RabbitMQRabbitMQ est un outil intéressant qui permet à une application ou site web, de se décharger de certaines tâches qui peuvent se faire de manière asynchrones et/ou par d’autres briques applicatives.

Son fonctionnement comprend quelques termes nouveaux :

« RabbitMQ est un message broker, son rôle est de transporter et router les messages depuis les publishers vers les consumers. Le broker utilise les exchanges et bindings pour savoir si il doit délivrer, ou non, le message dans la queue. »

Lire la suite

Symfony : connecter avec MongoDB et Elasticsearch

symfony-mongodb-elasticsearchSymfony permet à l’aide de bundle, de s’implémenter facilement avec MongoDB et Elasticsearch.

Le principe dans l’exemple qui suit, est une application web Symfony qui fonctionne avec une base maître MongoDB.
Cette base MongoDB synchronise régulièrement certaines de ses données dans Elasticsearch qui sera responsable de la recherche.

Symfony interroge ensuite Elasticsearch afin d’obtenir des résultats de recherche, qui lui renvoie les id des objets MongoDB afin d’aller chercher l’information brute dans la base maître.

Lire la suite

Créer une extension Twig

Logo TwigIl peut arriver d’avoir besoin d’une fonctionnalité qui n’est pas prévu par le système de template Twig.
Heureusement, créer une extension Twig au sein d’un projet Symfony2 est très simple.
Dans l’exemple ci-dessous, nous allons créer une extension qui nous renverra la classe d’un objet.

Tout d’abord il faut créer l’extension, par exemple dans le dossier AppBundle/Twig/

Lire la suite