Learn Symfony and modern PHP with Bolt 3.0 - a Silex powered CMS

On Tuesday 10th of May the development team released a new major version of Bolt CMS. The Open Source content management system is a lightweight and easy to use tool for managing websites and blogs. In addition it's perfect for learning modern PHP development practises.

The third major version of Bolt continues on the path, being an evolution rather than a revolution. The CMS is built on the Silex microframework based on the Symfony PHP components:

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:

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:

Written by Jani Tarvainen on Tuesday May 10, 2016

Permalink - Tags: symfony, php, cms, bolt