Sorry, you need to enable JavaScript to visit this website.
Skip to main content
Exploring the 17 Content Management Systems of Symfony Reuben Walker Tue, 01/11/2022 - 14:27

 


 

 


 

Symfony Station Logo

symfony logo

 

 


 

Exploring the Content Management Systems of Symfony graphic

 

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 these Symfony components:
  • 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.

 

If you think others could benefit, please share this resource.

 

More to explore

Author

Reuben Walker photo

 

Reuben Walker

Founder
Symfony Station

 

 

 


 

Symfony Station Communique - 3 December 2021

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

Welcome to this week's Symfony Station Communique. It's your weekly review of the most valuable and essential news in the Symfony and PHP development communities. This week it's extensive again, so take your time and enjoy its most valuable items.

 

Thanks to Javier Eguiluz and Symfony for sharing our last communique in their Week of Symfony.

 

*Please note that links will open in a new browser window. My opinions, if I present any, will be in bold.

 

Symfony 

 

As always, we will start with the official news from Symfony.

 

Highlight -> "This week, Symfony 4.4.35 and 5.3.12 releases were published to address some potential security vulnerabilities. In addition, Symfony 5.4.0-RC1 and 6.0.0-RC1 were published in preparation for their imminent stable release. Lastly, Symfony announced the last days of its Black Friday 2021 deals which end on November 29."

A Week of Symfony #778 (22-28 November 2021)

 

Javier continues a series of posts on what's new in Symfony 5.4.

 

 

It's finally here. Symfony 6 is available!

Symfony 6.0.0 released

 

Symfony 5.4 as well.

Symfony 5.4.0 released

 

SymfonyWorld conference starts in just a week: 10 workshops, 25 talks and hundreds of community members to meet. Don't miss it!

A week left before SymfonyWorld Online 2021 Winter Edition, book your ticket now!

 

SensioLabs has this for us: "To mark the release of Symfony 6, SensioLabs has interviewed Nicolas Grekas, one of the most active members of the Symfony core team. Grekas described the main new features of this latest major version of Symfony and how to start preparing for the upgrade."

Deep dive into Symfony 6: the interview with Nicolas Grekas

 

SymfonyInsight is the official Symfony platform to monitor and maintain high quality projects over long periods of time. It also helps you reduce business risks and upgrade your application dependencies.

PHP 8.1 is the latest version of PHP, released on November 25th. We’re thrilled to announce SymfonyInsight support of PHP 8.1 and all its features (enums, readonly properties, etc)!

SymfonyInsight now supports PHP 8.1!
 

 

Featured Item graphic

 

Featured Item

We continue to highlight the most significant post of the week.

 

Stitcher.io has this for us.

PHP 8.1 was released on November 25, 2021. This post will go through all features, performance improvements, changes, and deprecations one by one.

 

What's new in PHP 8.1

 

This week

 

Speaking of Symfony 6, Alex Daubois has this interesting post.

What's this upcoming "Encryption" component of Symfony 6.1?

 

Kiratas provides this advice: "SensioLabs has presented versions 5.4 and 6.0 of the popular PHP framework Symfony. The two versions are identical regarding the innovations, but Symfony 6 cuts off old braids and removes all content marked as outdated (deprecated). Therefore, developers who want to switch to the new main version should first switch to 5.4 and remove all deprecations."

PHP framework: Symfony 6.0 appears at the same time as version 5.4

 

Via SymfonyCasts: "We're heading into Twig and inside a service to fetch the currently-authenticated user. While we're there, we'll add some custom methods to our User class to make it smarter!" They continue their look at Symfony security with:

This week on SymfonyCasts

 

Mattia Toselli shows us how to develop a simple app with Symfony 5 on our local machine. Then we will deploy this app using a service of DigitalOcean called App Platform.

How to create an automated pipeline for deploy with Symfony 5 and DigitalOcean App Platform.

 

Why invest in AWS CDK today? Using a simple example with a basic web application built with the Symfony framework, this article will show you how to industrialize any application with Infrastructure as Code (IaC) methodology on AWS.

Build and Deploy a Symfony Application on AWS using CDK, ECS, and RDS

 

I know that there seems to be one of these comparison posts every week. But, if they have something new in them, even one sentence, we'll continue to feature them.

Laravel vs. Symfony: Which PHP Framework to Choose for Enterprise-grade Web Applications?

By the way, the answer for Enterprise-grade is Symfony.

 

Prestaconcepts brings us this post in French.

What Symfony 5.4 Brings

 

Doctrine has a new release.

New Release: Doctrine DBAL 3.2.0

 

Gábor Hojtsy writes: "As you may know, we are planning to release Drupal 10 in 2022 (as early as June) because Drupal 9's Symfony 4 and CKEditor 4 are both at the end of life the year after, around the end of 2023. So we plan to give enough time for people to update to Drupal 10 before Drupal 9 goes end of life. A similar situation happened with Drupal 8 to 9 driven by Symfony 3 to 4. However, moving Drupal 10 from Symfony 4 to 5 would again only give us a couple of years to move on to Symfony 6 next, so the current plan is to move to Symfony 6 straight away."

The big Symfony 4 to 6 jump plan in Drupal 10 and potential benefits down the line for future versions

 

Websites developed on the Symfony framework were vulnerable to web cache poisoning attacks due to misuse of HTTP headers, according to CyberIntelMag.

Symfony PHP Framework Had Cache Poisoning Vulnerability

 

Last Week

 

Hantsy has the following min-tutorial.

Building Restful APIs with Symfony 5 and PHP 8

 

Timeless

 

The idea behind Inspector is to create a monitoring environment specifically designed for software developers avoiding any server or infrastructure configuration that many developers hate dealing with. It works with a lightweight software library that you can install in your application like any other dependencies. In the case of Symfony, you can use our official Symfony Bundle. 

Code Execution Monitoring for Symfony applications using Inspector

 

When it comes to open source ecommerce platforms, there are quite a few solutions to choose from. You may have heard about Magento or PrestaShop. But have you ever seen something about Sylius?

What is Sylius and how to use it?

 

As you may know, I ran across Akashic Seer's blog last month, which boasts Symfony-related posts. Here are a few more from his archive delivered with his unique approach.

How to add CSRF protection to Symfony 5+ forms

How to access Doctrine in Symfony 5+ services

 

PHP logo

 

PHP

 

This week

 

To paraphrase Cloudways, PHP is the backbone for almost every website, and its security shouldn't be negligible. PHP developers are responsible for avoiding common threats like cross-site request forgery, SQL injections, and data tampering. And PHP has built-in security features that make it easier for developers to protect their websites.

Ultimate PHP Security Best Practices

 

This week, the latest PHP RFC, Deprecate Dynamic Properties, passed 2:1. It barely met the 2/3 vote threshold for passing, which of course, can and has been spun in various pro-and-con ways. The prominent argument people had against it was that it involves triggering deprecation warnings, which is kind of the point. That's what it does mostly.

Evolving PHP safely

 

Here's more on security as Matthieu Robin asks: "You've been using PHP for years, and it seems to work just fine, but have you ever wondered what more you could be doing to keep your scripts secure?" 

10 Ways to Improve Your PHP Security

 

Vedran Mihočinec too has a question. What is the easiest way to dockerize PHP applications?

The Easiest Way to Dockerize PHP Applications

 

In past communiques, we examined Anders Björkland posts on Bolt CMS. Here he takes a look at Silver Stripe CMS in two posts.

A CMS with a new take - SilverStripe first impression

Adding registration to SilverStripe and controlling privileges

 

On an unrelated note, he also posted.

Overview - The C in PHP stands for Christmas 🤶🎅. Follow this daily in December.

 

Speaking of PHP CMSs.

Composer and Contao for the Rest of the World

 

Ibrahim Alausa has written a comprehensive guide on writing cleaner, shorter class constructors.

PHP 8: Constructor Property Promotion

 

Jetbrains has another announcement, although it's quite as big as last week's.

JetBrains Remote Development: The ultimate coding experience for a remote world

 

They also announced that PhpStorm 2021.3 is now available. This major release introduces full support for PHP 8.1, better handling of generics in PHP, remote development, improvements to deployment, an HTTP client, refactorings, and much more.

PhpStorm 2021.3: PHP 8.1, Generics, Remote Development, Refactorings, and More

 

Olotin Temitope shows us how to configure Xdebug with PHPStorm and Docker to debug like a pro.

How to debug like a pro using Xdebug, PHPStorm, and Docker.

 

PHP Architect interviews feature contributor Vinícius Campitelli about his article Cryptography with Libsodium.

Interview with Vinícius Campitelli

 

As of today, when you update dependencies in a pull request, Private Packagist comments with all composer.lock changes displayed in a clear and easy to scan table.

Introducing: Update Review

 

Last Week

 

In this episode of the PHP Internals News podcast, they're looking back at all the RFCs that were discussed on the podcast for PHP 8.1. In their own words, the RFC authors explain these features, with your host interjecting his comments on the state of affairs. Please give it a listen.

PHP Internals News: Episode 95: PHP 8.1 Celebrations

 

In this video, BeachCasts shows us how to:

Measure PHP Code Quality With Static Analysis Using PHPStan

 

James Seconde has more on PHPStan.

Scrub Up! Cleaning Your PHP Application With PHPStan

 

If you use Drupal, its PHPStan solution gets an update.

Better static analysis with entity type storage in phpstan-drupal 1.10

 

And there's another one of these. Sigh.

Is PHP a Dying Language?

And as long as most of us will be alive, the answer is no. But the author still makes some interesting points about why that is.

 

Code logo

 

Other

 

How will future AI systems make the most ethical choices for all of us?

Worried about AI ethics? Worry about developers' ethics first

 

To continue on that line.

AI can translate standard written text to code

 

And regarding other so-called threats to the careers of developers.

Low code will help but don't expect a revolution

 

Here are five handy MySQL string functions you can add to your toolkit.

5 MySQL String Functions You Should Know

 

This type of CSS review is always helpful.

Flexbox vs. CSS Grid: What are the differences between the two, and when should you use them?

 

Postman says: "Before promoting an API direction, all parties must understand where we are and what destinations are possible. A map helps simplify an overwhelming number of technologies, techniques, and ideologies into something approachable and with a clear way forward. Ultimately, maps provide key insights so that having a conversation about an ecosystem's strengths and weaknesses can occur." 

How to Improve an API Ecosystem with Mapping

 

GitHub had some problems this week, but they were able to post this about Actions.

GitHub Actions: reusable workflows are generally available

 

Here's an in-depth look at Docker, which is always helpful.

Dock Life: Using Docker for All The Things!

 

And here's a look at the vital topic of user experience.

The State of UX in 2022

 

Like most articles in the New Yorker, this is a long one. But, it's worth grabbing your favorite beverage and reading it at your leisure.

Lina Khan's Battle to Rein in Big Tech

 

 

Have you published or seen something related to Symfony or PHP that we missed? If so, please contact us.

 

 

That's it for this week. Thanks for making it to the end of another extended edition. I look forward to sharing next week's Symfony and PHP news with you on Friday. 

 

Please share this post. :) Be sure to join our newsletter list, so you get each week's communique directly in your inbox (a day early). And follow us on Twitter at @symfonfystation.

 

Happy coding Symfonistas!

 

Visit our Communiqué Library

You can find a vast array of curated evergreen content.

 

Author

Reuben Walker photo

 

Reuben Walker

Founder
Symfony Station

 

 

 


 

Subscribe to Contao

 

 

Follow Symfony Station on Mastodon Mastodon Icon Twitter Twitter Icon Flipboard Flipboard Icon or Our Newsletter Newsletter Icon