Symfony4 has been released on November 30th 2017. Unlike Symfony3 that was "just" an improved Symfony2. Symfony4 rethinks the way we can develop with this framework. One of the major feature of this version is that it allows to use Symfony Flex to automate the most common tasks and it eventually introduces a simpler directory structure. The second major feature it that it is now "micro by default", therefore the Silex micro framework based on Symfony components was discontinued.
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 2019-11-29
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 2019-08-23
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.
Published on 2019-06-29 • Modified on 2019-07-01
In this post, we will see how to implement a simple feature flag. This flag will help us to debug our forms and will allow to disable the HTML5 client side validation of all the forms of an application.
Published on 2019-06-05 • Modified on 2019-06-05
In this post, we will see how to use the NotCompromisedPassword validator which was introduced in Symfony 4.3. This validator allows us to check if a given password was publicly exposed in a data breach and is therefore compromised. We will see how to use it manually and how to offer the ability to the user to test their password with this validation.
Published on 2019-04-18 • Modified on 2019-04-19
In this post, we will see how to implement a "Read in your language" link in your pages. The goal will be to detect the user browser preferred language and show him a link if the current page is available in his language.
Published on 2019-03-14 • Modified on 2019-03-20
In this post, we will see how to send logs to Slack. A typical usage is of course to send critical errors so you are warned in real time to be able to quickly fix the issues. But we can also send other types of notifications.
Published on 2018-11-16 • Modified on 2019-01-06
In this post, swe will see how to implement a fail2ban like system for Symfony. It will log login failure attempts for a given IP and will prevent further tries once a critical threshold is reached. When happening, a customized error page will be displayed to the user. ⏹