Learn Symfony and modern PHP with Bolt 3.0 - a Silex powered CMS
A lot has changed in Bolt 3, both under-the-hood as well as from a visual perspective and there are quite a few new features too. Bolt 3 has matured, and grown into a very extensible tool, that can be used both as a straightforward CMS, as well as a platform to build your custom applications on.
- Bolt 3.0.0 stable released
Built on a solid foundation the team has been able to deliver a system with a low learning curve and an intuitive administration interface. In addition the project's leadership has shown remarkable product management skills as they are intentionally leaving out complex features that are not required on many web sites: Some things that will not be in Bolt 3.0
Despite the compromises in adding features, the CMS itself is feature complete out of the box without the need for a lot of plugins. Like WordPress it comes with a default theme that is aesthetically pleasing as well as an easy place to start tinkering around with customisations.
Bolt CMS is easy to install and by default uses an SQLite database eliminating the creation and management of database credentials. Despite the low treshold of starting to work with the system it has a flexible content model and plenty of documented extension points for hooking into the publication process and more.
How to get started with Bolt?
Bolt is very developer friendly. I would recommend just installing the system in a local development environment, having a look around and trying to do some tweaks on your own to try hands on if Bolt feels right for you.
Like many other CMSes it uses the common Twig templating engine on the theme layer. If you're new to Twig, Symfony and all that other "new PHP stuff", then it's good to start learning the technologies that Bolt uses under the hood:
- Twig for Template Designers
- Introduction to Silex – A Symfony Micro-framework
- PHP Tutorial: Getting Started with Composer
- Understanding YAML
Using Bolt on a project is also a good way to learn these technologies. As you get a lot of features, but can take practical use of concepts and technologies such as MVC, dependency injection and service containers.
Learning these with Bolt can be both useful and fun! Instant gratification of productivity as well as doing the "right thing" :)
For developers familiar with Symfony and contemporary PHP the best way to get started is using Composer:
composer create-project bolt/composer-install:^3.0 <MYPROJECT> --prefer-dist
What's new in Bolt 3.0 and what is not?
Bolt is still very much Bolt - there was no need for massive structuring as in some older projects. The previous version was 2.2.20 and many of the enhancements in 3.0 are targeted at developers and improving overall quality and robustness of the system. Some of the major features in this release include:
- A new extensible Storage layer
- New Extensions structure
- We have 'Repeater fields' now
- Backend UI refresh
- Widgets for both frontend and backend
- Refactored sessions
- Improved tests / code coverage
- Improved Javascipt backend code
- New Base-2016 default theme
- New documentation
- New controller & routing layer
- Web asset queues, and easier to keep files out of webroot
As mentioned before, the development team has cut down on introducing new features and some of the things that did not make it are:
- A revamped administration interface
- Hierarchical content
- Built in multilingual capabilities
The 2.2 series administration interface is still miles ahead of many other CMS interfaces and rivals the gold standard of the industry, WordPress. Hierarchical content and built-in multilingual capabilities are something that are not necessary for many web sites and in fact can only be confusing if they're not required.
More about Bolt:
- Bolt CMS homepage
- Bolt Source on GitHub
- Using BoltCMS to Build a Small Business Website
- Bolt CMS is WordPress done right(er)
- Symfony and Content Management: Comparing Bolt, Drupal 8 and eZ Platform