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:
By the way, we're looking for new translators, specially for widely spoken languages (Chinese, Japanese, Italian, Polish, etc.)
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:
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.
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:
- Add some examples of events (issue #21)
- Add some relations to the application entities (issue #44)
- Add some Ajax examples (issue #69)
- Add Docker support (PR #79)
Help us improve this application with your comments, ideas and code!
What about some admin views for the User? Showcasing some
AdvancedUserInterface
features would be nice.Can't wait for next release ;)
This is awesome! Do you have an idea about release date of this version?
@Niels the version that includes these new features is already published (just execute "symfony demo" anywhere on your system and you'll get it).
If you are asking about the next version, then we don't know the release date because we don't follow a fixed cycle as Symfony does.
@Javier oh ok :-) My bad! Thanks!
Hi,
Please add function edit post in the modal bootstrap.
@javiereguiluz you said 9 but you just named 8 languages.
Oskar
@Oskar, you are right: I excluded Romanian because the translation wasn't fully updated. By the way, since we published this article, we have three new translations completed: Romanian, Italian and Polish.
This is awesome!
nice staff to play around :-)