Need help with Drupal or Grav admin, site building, design, or content? Contact us! 

Help Defend Democracy! → Join Battalion today.

Back to top with progress scrollbar

Exploring the 17 Content Management Systems of Symfony

By Reuben Walker, 10 October, 2023
Illustration of a rocket and space base on a moon

Are you looking for a CMS built with Symfony?

Have you ever wondered which CMSs are built with Symfony? Well, probably not, but if you have this reference article shows which ones are and provides their relevant details.

Technically, the Content Management Systems covered in this article aren't of Symfony but built with its components to various extents.

Some of them have the capability to incorporate Symfony Bundles. For example, it's likely with eZ Platform/Ibexa, Sulu, Bolt, Contao, Fork, and Kunstmaan. Most are customizable.

Our exploration is for those developers or site owners evaluating CMSs. However, it will be particularly handy for those searching for one tightly tied to the Symfony framework. I recommend bookmarking this article as a reference while you hunt for the CMS for your project.

If you're unsure how to evaluate a CMS, you can benefit from reading this case study of what we did when building Symfony Station. It's interesting, to say the least.

This article is not as entertaining, but it should prove helpful.

What will be covered

Each CMS overview will provide:

  • A description from Symfony of the CMS
  • A list of Symfony Components the CMS uses
  • A few points from the CMS about its advantages
  • A link to the CMS's site for more information

If you want information on a specific CMS, click the link below to go to its section. Please take advantage of our back-to-the-top arrow as needed for comparing two CMSs at opposite ends of the list.

Said list of Content Management Systems built with Symfony Components is extensive and includes:

Wow. That's a lot, so I may update this article to further explore the CMSs. Or I may write individual pieces in the future.

Again, I will provide a quick summary of each CMS as described by Symfony and their benefits as touted by the Content Management Systems themselves. This info will be in quotation marks.

I made some adjustments to the sales pitches for grammar and readability.  
 

Drupal

Drupal logo

Let's start with Drupal, which is the CMS Symfony Station is built upon.  

"Drupal is an open-source content management platform powering millions of websites and applications. It's built, used, and supported by an active and diverse community worldwide. Drupal is open-source software maintained and developed by a community of 1,000,000+ users and developers. It's distributed under the terms of the GNU General Public License (or "GPL"), which means anyone is free to download it and share it with others."  

Symfony components used in it include:

  • ClassLoader
  • Console
  • DependencyInjection
  • EventDispatcher
  • HttpFoundation
  • HttpKernel
  • Polyfill Iconv
  • Process
  • Routing
  • Serializer
  • Translation
  • Validator
  • Yaml

It also incorporates Twig in its core.  

As Drupal is the most well-known of the "Symfony CMSs", I won't go into it a great deal. The lower part of our about page has the details of how we use it.  

The official site of Drupal  
 

Joomla

Joomla logo

Joomla is the second most well-known "Symfony CMS."  

"Joomla is an award-winning content management system (CMS), which enables you to build Web sites and robust online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular website software available. Best of all, Joomla is an open-source solution that is freely available to everyone."  

The Symfony components it uses are:

  • Asset
  • Cache
  • Console
  • ErrorHandler
  • HttpFoundation
  • Ldap
  • OptionsResolver
  • PHPUnit Bridge
  • Polyfill PHP 5.5
  • Polyfill PHP 7.0
  • Polyfill PHP 7.2
  • Polyfill PHP 7.3
  • Polyfill Util
  • Process
  • WebLink
  • Yaml

I am going to quote from Joomla now, "Joomla! is used worldwide to power millions of websites of all shapes and sizes.  

Some companies and organizations have requirements beyond what is available in the Joomla! Core package. In those cases, Joomla's powerful application framework makes it easy for developers to create sophisticated add-ons that extend the power of Joomla into virtually unlimited directions.  

The core Joomla! Framework enables developers to quickly and easily build:

  • Inventory control systems
  • Data reporting tools
  • Application bridges
  • Custom product catalogs
  • Integrated e-commerce systems
  • Complex business directories
  • Reservation systems
  • Communication tools

Since Joomla! is based on PHP and MySQL, you're building powerful applications on an open platform anyone can use, share, and support."  

The official site of Joomla  
 

eZ Platform/Ibexa

eZ Platform logo

"eZ Platform, a pure full-stack Symfony CMS as of version 2, is the foundation for eZ Platform Enterprise. It is a Content Management System built for business-critical digital applications that need to be extensively quality-assured, stable, and fully-featured with additional value-added functionalities, support, and maintenance services."  

Symfony components used by this CMS include:

  • Asset
  • Cache
  • Console
  • Dotenv
  • ExpressionLanguage
  • Form
  • Polyfill Ctype
  • Polyfill Iconv
  • Polyfill PHP 5.6
  • Polyfill PHP 7.0
  • Polyfill PHP 7.1
  • Process
  • Translation
  • Validator
  • WebLink
  • Yaml

Ibexa says: "Ibexa DXP enables developers to design and develop websites, web applications, and complex eCommerce stores. Built on the standard Symfony PHP framework, developers can leverage existing knowledge and integrate custom functionality alongside core features.  

At the core of Ibexa DXP are extensibility and connectivity. We provide a comprehensive suite of APIs (GraphQL, REST, and PHP), and our products are built on modern Open Source technologies.  

Our core technology, Ibexa Open-Source is available under the GPL."  

The official site of eZ Platform/Ibexa  
 

Grav

Grav logo

Grav aims for a simple developer experience and has the best logo of the Symfony CMSs. ;) I considered Grav for Symfony Station but did not want it to be a static site.  

"Grav is a Modern, Fast, Simple and Flexible flat-file CMS. While Grav is intentionally minimal, the extensive plugin architecture allows it to adapt to almost any task. Powerful Twig templating ensures that development is only limited by your imagination. Sophisticated caching mechanisms mean that Grav is scary fast and can scale more than other flat-file CMS systems. Utilizing Markdown for content creation and YAML for configuration ensures it is always easy to use and configure. Being flat-file based means a Grav site is quick to install, simple to migrate, and a breeze to version."  

It uses these Symfony components:

  • Console
  • Contracts
  • EventDispatcher
  • Finder
  • HttpClient
  • Polyfill Iconv
  • Polyfill Mbstring
  • Polyfill PHP 7.2
  • Polyfill PHP 7.3
  • Polyfill PHP 7.4
  • Polyfill PHP 8.0
  • Polyfill PHP 8.1
  • Process
  • VarDumper
  • Yaml

Grav says: "Grav is a Fast, Simple, and Flexible file-based Web-platform. There is Zero installation required. Just extract the ZIP archive, and you are already up and running. Although Grav follows principles similar to other flat-file CMS platforms, it has a different design philosophy than most.  

The underlying architecture of Grav is built using well-established and best-in-class technologies. This approach ensures that Grav is simple to use and easy to extend. 

It uses:

  • Twig Templating: for comprehensive control of the user interface
  • Markdown: for easy content creation
  • YAML: for simple configuration
  • Parsedown: for fast Markdown and Markdown Extra support
  • Doctrine Cache: for performance
  • Pimple Dependency Injection Container: for extensibility and maintainability
  • Symfony Event Dispatcher: for plugin event handling
  • Symfony Console: for CLI interface
  • Gregwar Image Library: for dynamic image manipulation

It focuses primarily on your content and turns your content structure into a navigable site. The underpinnings of Grav are simple, yet via extensive events, you have complete control over every step in the Grav workflow."  

The official site of Grav  
 

Symfony CMF

Symfony CMS logo

As you would suspect, this is pure Symfony. I considered it for Symfony Station, but I am not proficient enough at Symfony at the moment. Plus, it is no longer supported.  

"The Symfony CMF project makes it easier for developers to add CMS functionality to applications built with the Symfony PHP framework. Key development principles for the provided set of bundles are scalability, usability, documentation, and testing."  

Components used by this project include:

  • Asset
  • BrowserKit
  • Cache
  • Config
  • Console
  • Contracts
  • CssSelector
  • DependencyInjection
  • DomCrawler
  • Dotenv
  • ErrorHandler
  • EventDispatcher
  • ExpressionLanguage
  • Filesystem
  • Finder
  • Form
  • HttpClient
  • HttpFoundation
  • HttpKernel
  • Intl
  • Ldap
  • Lock
  • Mailer
  • Messenger
  • Mime
  • Notifier
  • OptionsResolver
  • PasswordHasher
  • PHPUnit Bridge
  • Polyfill Ctype
  • Polyfill Intl Grapheme
  • Polyfill Intl ICU
  • Polyfill Intl IDN
  • Polyfill Intl Normalizer
  • Polyfill Mbstring
  • Polyfill PHP 8.1
  • Polyfill UUID
  • Process
  • PropertyAccess
  • PropertyInfo
  • RateLimiter
  • Routing
  • Runtime
  • Guard
  • Semaphore
  • Serializer
  • Stopwatch
  • String
  • Templating
  • Translation
  • Uid
  • Validator
  • VarDumper
  • VarExporter
  • WebLink
  • Workflow
  • Yaml

The GitHub repository states, "Nowadays only providing the CMF routing. The repositories of the other components are archived and marked as abandoned but will stay available."  

If you're still interested, you can find out more about Symfony CMF here.  

TYPO 3

Typo 3 logo

I don't know much about this CMS, although I did explore and consider it for Symfony Station.  

"TYPO3 is an open-source PHP-based web content management system released under the GNU GPL."  

TYPO3 uses these Symfony components:

  • Config
  • Console
  • DependencyInjection
  • ExpressionLanguage
  • Filesystem
  • Finder
  • HttpFoundation
  • Mailer
  • Mime
  • OptionsResolver
  • Polyfill Intl ICU
  • Polyfill Intl IDN
  • Polyfill Intl Normalizer
  • Polyfill Mbstring
  • Polyfill PHP 8.0
  • Polyfill PHP 8.1
  • PropertyAccess
  • PropertyInfo
  • RateLimiter
  • Routing
  • VarDumper
  • Yaml

According to their site: "TYPO3 is an easy-to-use, flexible, professional CMS and open source project offering services and solutions for the whole team across industries, organization sizes, and use cases.  

Powered by an enterprise open-source CMS, and backed by a vibrant professional community and a commercial ecosystem — TYPO3 helps organizations connect with customers through rich digital experiences."  

TYPO3 makes it simple to partner with brands you trust to incorporate essential processes and tech. Integrate digital asset management, e-commerce, translation services, marketing automation, analytics, and more seamlessly into your TYPO3 project."  

The official site of TYPO3  
 

Sulu

Sulu logo

I strongly considered using Sulu for Symfony Station as it's built with Symfony. In addition, it has a simple and attractive backend dashboard. However, it's best suited for headless applications, and I'm not quite there yet as a developer.  

"Sulu is a content management platform based on Symfony made for businesses. It's a flexible CMS to create and manage enterprise multi-sites and a reliable development environment for high-performance apps. With powerful features for developers and a simple UI for editors, it's the ideal engine for state-of-the-art business websites and web-based software."  

Symfony components used by Sulu include:

Symfony components used by Sulu include:

  • Asset
  • BrowserKit
  • Cache
  • Config
  • Console
  • CssSelector
  • Debug
  • DependencyInjection
  • DomCrawler
  • Dotenv
  • EventDispatcher
  • ExpressionLanguage
  • Filesystem
  • Finder
  • Form
  • HttpClient
  • HttpFoundation
  • HttpKernel
  • Intl
  • Mime
  • OptionsResolver
  • PHPUnit Bridge
  • Polyfill Mbstring
  • Polyfill PHP 7.2
  • Process
  • PropertyAccess
  • Routing
  • Stopwatch
  • String
  • Translation
  • Validator
  • VarDumper
  • Yaml

Sulu states: "Sulu is built with Symfony, a highly flexible and powerful PHP framework, and many developers already work with it. But creating your own content management system in Symfony is very complex — we should know! — because there are many details to address.  

If you’re a Symfony developer, you probably don’t want to build, test, debug, and maintain all this yourself. Why reinvent the wheel? By building on top of Symfony instead of establishing its own coding standards and conventions, Sulu works with the grain of many developers."  

The official site for Sulu  
 

Bolt

Bolt logo

I like Bolt, and it was one of my top three options for this website.  

"Bolt is a tool for Content Management, which strives to be as simple and straightforward as possible. It is quick to set up, easy to configure, uses elegant templates, and above all: It's a joy to use. Bolt is created using modern open-source libraries and is best suited to build sites in HTML5 with modern markup."  

Bolt uses these Symfony components:

  • Asset
  • BrowserKit
  • Config
  • Console
  • Debug
  • EventDispatcher
  • Filesystem
  • Finder
  • Form
  • HttpFoundation
  • HttpKernel
  • Intl
  • OptionsResolver
  • PHPUnit Bridge
  • Process
  • PropertyAccess
  • Routing
  • Security
  • Stopwatch
  • Translation
  • Validator
  • VarDumper
  • Yaml

"Bolt is a Symfony application, and it shows in many ways. If you're familiar with Symfony, you'll immediately recognize the project structure and how things work.  

That's not limited to the core of Bolt itself, though. Projects you build on top of Bolt, as well as extensions for Bolt, benefit from the Symfony underpinnings."  

The official site for Bolt  
 

Pagekit

Pagekit logo

Pagekit is almost like a CMS starter kit. It's designed to be built upon.  

"It's a modular and lightweight CMS built from the ground up with modern architecture in mind. It serves as a web application framework and provides an excellent platform for theme and extension developers."  

Symfony components used by Pagekit:

  • Debug
  • Finder
  • HttpFoundation
  • Routing
  • Stopwatch
  • Templating
  • Translation

"Pagekit is an Open Source project founded by YOOtheme. We're passionate about creating a modular, extendable and lightweight CMS and bringing the fun back into content management. Pagekit is hosted on GitHub and open for everyone to contribute."  

The official site for Pagekit  
 

Fork CMS

Fork CMS logo

Fork has the 2nd best logo. ;)

"Fork CMS is dedicated to creating a user-friendly environment to build, monitor, and update your website. We pride ourselves in being the Content Management System of choice for beginners and professionals. We combine this grand vision with the latest technological innovations to allow developers and designers to build kick-ass websites."  

Fork uses these Symfony components:

Fork uses these Symfony components:

  • Asset
  • BrowserKit
  • Cache
  • Config
  • Console
  • Contracts
  • CssSelector
  • DependencyInjection
  • DomCrawler
  • Dotenv
  • ErrorHandler
  • EventDispatcher
  • ExpressionLanguage
  • Filesystem
  • Finder
  • Form
  • HttpClient
  • HttpFoundation
  • HttpKernel
  • Intl
  • Ldap
  • Lock
  • Mailer
  • Messenger
  • Mime
  • Notifier
  • OptionsResolver
  • PasswordHasher
  • PHPUnit Bridge
  • Polyfill Ctype
  • Polyfill Intl Grapheme
  • Polyfill Intl ICU
  • Polyfill Intl IDN
  • Polyfill Intl Normalizer
  • Polyfill Mbstring
  • Polyfill PHP 8.1
  • Polyfill UUID
  • Process
  • PropertyAccess
  • PropertyInfo
  • RateLimiter
  • Routing
  • Runtime
  • Guard
  • Semaphore
  • Serializer
  • Stopwatch
  • String
  • Templating
  • Translation
  • Uid
  • Validator
  • VarDumper
  • VarExporter
  • WebLink
  • Workflow
  • Yaml

Fork says "Fork CMS is extensible via apps. And "Fork CMS is jam-packed with cool apps. And just in case you want, even more, you can download additional apps to expand your site.  

We're constantly working with our dedicated community to build new and exciting ones."  

The official site for Fork CMS  
 

Kunstmaan Bundles CMS

Kunstmaan Bundles CMS logo

"The Kunstmaan Bundles CMS is an advanced yet user-friendly content management system, based on the full stack Symfony framework combined with a whole host of community bundles. It provides a full-featured, multi-language CMS system with an innovative page and form assembling process, versioning, workflow, translation and media managers, and much more."  

Symfony components used by Kunstmaan include:

  • Cache
  • Config
  • Console
  • CssSelector
  • DependencyInjection
  • DomCrawler
  • ErrorHandler
  • EventDispatcher
  • ExpressionLanguage
  • Filesystem
  • Finder
  • Form
  • HttpFoundation
  • HttpKernel
  • Inflector
  • Mailer
  • Mime
  • OptionsResolver
  • PHPUnit Bridge
  • PropertyAccess
  • Routing
  • Serializer
  • Translation
  • Validator
  • Yaml

Kunstmaan states, "An advanced yet user-friendly content management system, based on the full stack Symfony framework combined with a whole host of community bundles.  

You probably know that building beautiful website management interfaces is hard work. That's why we combined over a decade of experience in designing and developing content management systems (CMS) with the Symfony framework and community bundles. We did so to create a set of bundles that enable you to produce high quality, flexible, and above all user-friendly CMS-based websites without the hassle of creating the admin interface."  

The official site for Kunstmaan Bundles CMS  
 

Zikula

Zikula logo

Zikula has minimal Symfony integrations.  

"Zikula is a Web Application Toolkit, which allows you to run impressive websites and build powerful online applications. Zikula has received praise for many things, but we believe the highlights are ease of use, quick and easy development, security and performance, and lastly, flexibility."  

Zikula says "Zikula is Free Open Source Software (FOSS). It allows you to build simple one-page websites to individual web applications utilizing different types of extensions for making your project to something special.  

For this, you can extend Zikula's functionality with modules and realize a custom look using themes."  

The official site for Zikula  
 

Concrete 5

Concrete 5 logo

"Concrete5 is an open-source CMS designed to revolutionize user experience. Go to any page on your site, and an editing toolbar gives you all the controls you need to update your website. No intimidating manuals, no complicated administration interfaces - just point and click."

Components used by Concrete CMS include:

  • Cache
  • ClassLoader
  • Console
  • EventDispatcher
  • HttpFoundation
  • HttpKernel
  • Messenger
  • Polyfill UUID
  • PropertyAccess
  • Routing
  • Serializer
  • Yaml

Here's Concrete's pitch "Imagine being able to edit your website as easily as you edit a document. No intimidating manuals, no complicated administration interfaces - just point and click.  

Your developers can build different page types and blocks that can be used interchangeably in dynamic ways over time. In addition, explicit permissions and workflow approval processes let you model processes that work for getting your organization's content online safely and quickly.  

You get all of that for free in a fully open-source stack you can put anywhere, or you can work directly with us to get a robust DevOps pipeline based hosting and support."  

The official site for concrete5  
 

Roadiz

Roadiz log

"Roadiz is a modern CMS based on a polymorphic node system that can handle many types of services and contents. Its backend has been developed with a high sense of design and user experience. Its theming system is built to work independently from the backend allowing easy switching and multiple themes for one set of content. For example, it allows you to create one theme for your desktop website and another for your mobile, using the same node hierarchy. Roadiz is released under MIT license so that you can reuse and distribute its code for personal and commercial projects."  

Roadiz uses these Symfony components:

  • Asset
  • Config
  • Console
  • Dotenv
  • ExpressionLanguage
  • Filesystem
  • Finder
  • Form
  • HttpFoundation
  • HttpKernel
  • Messenger
  • RateLimiter
  • Routing
  • Security
  • Serializer
  • Stopwatch
  • Translation
  • Validator
  • Workflow
  • Yaml

Roadiz states, "Roadiz is a modern CMS based on a node system which can handle many types of services. Based on Symfony components and Doctrine ORM, it allows you to create your data schema from scratch and to organize your content as you want."  

The official site for Roadiz  
 

Contao

Contao logo

"Contao is an accessible open source content management system, first published in 2006. Starting with version 4 (released in spring 2015), Contao is based on the Symfony full-stack framework and steadily migrates the existing libraries to Symfony components."  

Symfony components used by Contao include:

  • Asset
  • BrowserKit
  • Cache
  • Config
  • Console
  • Contracts
  • CssSelector
  • DependencyInjection
  • DomCrawler
  • Dotenv
  • ErrorHandler
  • EventDispatcher
  • ExpressionLanguage
  • Filesystem
  • Finder
  • Form
  • HttpClient
  • HttpFoundation
  • HttpKernel
  • Intl
  • Ldap
  • Lock
  • Mailer
  • Messenger
  • Mime
  • Notifier
  • OptionsResolver
  • PasswordHasher
  • PHPUnit Bridge
  • Polyfill Ctype
  • Polyfill Intl Grapheme
  • Polyfill Intl ICU
  • Polyfill Intl IDN
  • Polyfill Intl Normalizer
  • Polyfill Mbstring
  • Polyfill PHP 8.1
  • Polyfill UUID
  • Process
  • PropertyAccess
  • PropertyInfo
  • RateLimiter
  • Routing
  • Runtime
  • Guard
  • Semaphore
  • Serializer
  • Stopwatch
  • String
  • Templating
  • Translation
  • Uid
  • Validator
  • VarDumper
  • VarExporter
  • WebLink
  • Workflow
  • Yaml

Contao says, "As an open-source CMS, Contao is based on open web standards and is easily adaptable to your needs. It features High development standards, regular updates, fast and reliable fixes, and four years of support for LTS versions."  

The official site for Contao  
 

init CMS

init CMS logo

Init takes a unique approach.  

"The InitCmsBundle is a small flexible CMS core based on Symfony which can be used as a standalone CMS or integrated into any existing Symfony project."  

Symfony components used by init CMS include:

Symfony components used by init CMS include:

  • Asset
  • Console
  • ExpressionLanguage
  • Form
  • PHPUnit Bridge
  • Polyfill APCu
  • Translation
  • Validator
  • Yaml

"The init CMS is mission-tested, ideal for simple or complex websites that need an individual design. Furthermore, since it is based on a modern framework (Symfony2), custom-made extensions can be developed quickly and easily according to customer requirements, so that no wishes remain unfulfilled."  

The official site for init CMS  
 

Pico

Pico logo

In my opinion, Pico barely qualifies as a Symfony CMS.  

"Pico is a stupidly simple, blazing fast, flat file CMS. You simply create markdown files in the content folder, and those files become your pages. Pico trades one-click setups and complex management interfaces for blazing speed, flexibility, and a lightweight footprint."  

Pico uses one Symfony component:

  • Yaml

It also incorporates Twig.  

"Pico is a "flat file" CMS, meaning no database woes, no MySQL queries, nothing. You can edit your website in your favorite text editor using simple Markdown formatting. Pico uses the Twig templating engine for powerful and flexible themes."  

The official site for Pico  
 

Summing it up

I'm impressed. You have reached the end of this extensive overview. Congratulations.

As you have seen, there is a wide variety of content management systems built with Symfony components.

They range from full-featured plug-and-play ones to those easily customized on the front and backend to template-like ones that let you build a CMS your way.

I hope you found it helpful in searching for the perfect Symfony-based CMS. Or at least the best one for your project.

Bookmark this article if you are still undecided, and thanks for reading.

section separator
Article Type
Donate using Liberapay

Symfony Station covers the essential news in the Symfony, PHP, and Fediverse development communities with a focus on protecting democracy. Please use the button above to make a small donation to help cover our out-of-pocket costs. Our labor is provided free of charge to support the communities we write about.

Join our newsletter list

Subscribe to The Payload, our weekly newsletter exploring the Symfony Universe.

  Start exploring!