Last blog posts
Published on 2020-05-15 • Modified on 2020-12-05
In this post, I will introduce you to Cw which is an acronym for "Cache Watcher". Cw is a small Go (Golang) program that watches your Symfony files and warms your cache when needed, so you don't have to wait when refreshing your browser.
Published on 2020-03-28 • Modified on 2020-03-28
In this post, we will see how to set up a CI/CD workflow for a Symfony project thanks to the GitHub actions. It will cover from configuring PHP on the runner host to launching the unit and functional tests of the Symfony application.
Published on 2020-02-19 • Modified on 2020-03-14
In this post, we will see how to use Doctrine repositories as services without adding additional configuration to the services.yaml file.
Published on 2019-12-31 • Modified on 2019-12-31
In this post, we will see how to use the Symfony AbstractController that was introduced in Symfony 3.3/4.1. We will review what we used to do before and the evolutions that were done from symfony 1 to Symfony 5, especially how services were declared and used. Eventually, we will try to understand why this new "Base controller" was introduced.
Published on 2019-12-22 • Modified on 2021-12-24
In this post, we will check all the Symfony best practices listed in the official documentation. For each one, I will say if I agree with it or not and why.
Published on 2019-12-07 • Modified on 2019-12-07
In this post, we will see how to implement a simple honeypot in a Symfony form to avoid spam. We will try it on a newsletter form with a unique email field. We'll also log what is blocked by the trap to check if it works correctly.
Published on 2019-11-16 • Modified on 2020-04-18
In this third and last part, we will continue to improve our search engine. First, we will enhance our elasticsearch stack with Kibana. Then, we will implement an autocomplete using an elasticsearch suggester.
Published on 2019-10-28 • Modified on 2019-10-28
This is the second part of the tutorial. In this post, we will see how to improve our search engine to make is much more relevant. We will use an alias, create a custom command to populate the index. We will tune the search applying boosts to some fields and eventually, we will paginate the result list.
Published on 2019-09-22 • Modified on 2020-01-12
In this post, we will see how to create a full-text search engine with elasticsearch in a Symfony application. We will use Docker compose to set up an elasticsearch stack. We will try to keep the configuration as minimal as possible keeping the sensible default components values. In the end, on this website, we will able to search for articles and snippets matching one or several keywords.
Published on 2019-08-23 • Modified on 2020-01-31
In this post, we will see how to hide the front controller's file name of a Symfony application so it can't be accessed when typing it: "index.php". The less the users (or hackers of course) will know about the technical implementation of your website, the better it is.