The Symfony Demo application was publicly introduced three months ago. In addition to being a learning resource, it's considered the reference implementation of the Symfony Best Practices.

During the past weeks, we've been busy adding new features to showcase Symfony functionalities. This article is a quick recap of the most important new features.

Full internationalization

The application is now fully translated into nine languages (cs, de, en, es, fr, pt_BR, ru and uk). The layout now also includes a dropdown to select the application language:

Symfony Demo Language Selector

By the way, we're looking for new translators, specially for widely spoken languages (Chinese, Japanese, Italian, Polish, etc.)

Details: PR #102 and PR #80.

New console commands

The app:add-user command creates new users and stores them in the database. It's been designed to showcase the interact() method, the Question Helper and how to perform database queries inside a console command. Details: PR #14

The app:list-users command lists all the existing application users. This command showcases the buffered console output, the Table Helper and how to send emails inside a console command. Details: PR #20.

New technical requirements checker

We all know and love the Symfony's requirements checker, but we needed to update its look and feel to match the Symfony Demo style:

Symfony Demo Requirements Checker

Details: PR #81.

New JavaScript and Sass/CSS management

The Symfony Demo application is distributed with all its web assets compiled. This is needed to make the application work and look great out-of-the-box without configuring anything or executing any command.

However, the application also includes all the source assets and the needed configuration to compile them in case you want to do that. In order to minimize the external dependencies, we manage web assets exclusively with PHP libraries, as explained in this new tutorial: Combining, Compiling and Minimizing Web Assets with PHP Libraries.

Details: PR #33.

Misc. improvements

The Login Form now is protected against CSRF attacks. Details: PR #57.

The controller and template file paths in the "Show Source Code" window are now clickable links. This feature requires to set an appropriate value for the framework.ide configuration option.

Symfony Demo Clickable Files

Details: PR #62.

Lastly, we added some functional tests. Details: PR #19 and PR #23.

What's next?

All these new features were possible thanks to the work of our contributors, specially Victor Bocharsky, Julien Itard, Christophe Coevoet, Wouter De Jong, Christian Flothmann and our translators Benoît Durand, Davi Tavares Alexandre, Martin Hasoň and Oskar Stark.

The Symfony Demo application is far from being finished, so we are already planning the features that will be included in the next release, such as:

Help us improve this application with your comments, ideas and code!

Published in #Symfony