Symfony Station Communique - 7 January 2022. A look at Symfony and PHP news.
Tags: symfony, php, docker, drupal
Published: 2022-01-07 16:37:38


This post originally appeared on [Symfony Station](https://www.symfonystation.com/Symfony-Station-Communique-31-December-2021).

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. Take your time and enjoy the items most valuable for you.

Thanks once again to Javier Eguiluz and Symfony for sharing [our last communique](https://www.symfonystation.com/Symfony-Station-Communique-31-December-2021) in their [Week of Symfony](https://symfony.com/blog/a-week-of-symfony-783-27-december-2021-2-january-2022).


*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.36, 5.3.13, 5.4.2 and 6.0.2 maintenance versions were released. In addition, Symfony announced the open sourcing of Symfony CLI, and we published the traditional Symfony 2021 Year in Review summary."

[A Week of Symfony #783 (27 December 2021 - 2 January 2022)](https://symfony.com/blog/a-week-of-symfony-783-27-december-2021-2-january-2022)


There's a week left to enjoy the early bird registration for SymfonyLive Paris 2022 conference organized on April 7-8 2022. Join the team for a week of Symfony in French: 2-day workshops and 2-day conference!

[SymfonyLive Paris 2022 : l'inscription early bird se termine le 10 janvier 2022](https://symfony.com/blog/symfonylive-paris-2022-l-inscription-early-bird-se-termine-le-10-janvier-2022)


They have announced the workshops as well.

[Les formations du SymfonyLive Paris 2022 sont en ligne](https://symfony.com/blog/les-formations-du-symfonylive-paris-2022-sont-en-ligne)


Early bird registration for SymfonyWorld Online 22 Summer edition ends January 14. Calls for presentations are open for it and SymfonyLive Paris.

[CFP and Early Bird registrations are open for SymfonyLive Paris 2022 and SymfonyWorld Online 2022 Summer Edition](https://symfony.com/blog/cfp-and-early-bird-registrations-are-open-for-symfonylive-paris-2022-and-symfonyworld-online-2022-summer-edition)

SymfonyCasts picks back up on their security series and writes "We added an “email verification” step to our registration by leveraging the symfonycasts/verify-email-bundle (hey! I know them!). Then we looked at actually validating the signed URL that we sent to the user to show *why* it failed when it does, and mark our user as “verified”.

And apart from being more powerful and less complex, the new Symfony security system comes with new stuff! Like “login throttling”. We enable this & open up its source code to see how it works. Hint: it works via events!"

[This week on SymfonyCasts](https://5hy9x.r.ag.d.sendibm3.com/mk/mr/wTZed2qQQ-8vQTfxEq-ZyeOQvtHBeGPVBlWIal-qrGww4RG-YznULPJvTjD9jXTjUuPDjz5Bw-I6RPaop8F2nFFZUUNVVxDeH-5STEb4yiMJ3e8eOooa1d_RRlJCW7-T2iqO-fxV0w)


![Featured Item graphic](https://symfonystation.com/sites/default/files/inline-images/Featured-Item_1.png)

##Featured Item

We continue to highlight a post of the week. This one was an obvious and easy decision.

This week I am choosing one of the most useful posts I've found in a long time. It's primarily about the frontend and self-explanatory.

[10 Resources for Web Developers](https://dev.to/yigitsr/10-resources-for-web-developers-46g7)


###This Week


API Platform creator Kévin Dunglas writes: "I’m very excited to announce that after 6 years of teamwork, Symfony and API Platform now include an industry-first set of tools designed to automatically create, manage and run the Docker containers needed for your applications."

[Symfony’s New Native Docker Support (Symfony World) Presentation](https://dunglas.fr/2021/12/symfonys-new-native-docker-support-symfony-world/)


Dariusz Gafka explores "pushing the refactoring of our Symfony Applications to their boundaries. We will focus on dropping boilerplate completely so we can write only the code that matters, allowing us for easy modifications, maintenance and future extensions." 

We will focus on dropping boilerplate completely so we can write only the code that matters, allowing us for easy modifications, maintenance and future extensions."

[Build Your Symfony and Doctrine ORM Applications with ease using Ecotone](https://medium.com/nerd-for-tech/build-your-symfony-applications-with-ease-using-ecotone-f7bcaa11b5c4)


Fabio Hiroki has another excellent article for us. This one covers using Symfony with the RabbitMQ message broker.

[Introduction to RabbitMQ and Symfony](https://fabiohiroki.medium.com/introduction-to-rabbitmq-and-symfony-a1e782a820d5)


In previous communiques I shared Anders Björkland's articles on the SilverStripe CMS. Here's the latest one.

[Query me some Google Books API](https://dev.to/andersbjorkland/query-me-some-google-books-api-1lic)

Regarding CMSs our next original article will cover those built with Symfony Components. Check back next Wednesday to read it.

Mike Zukowski follows up on an article he wrote how to improve your application’s response time with lazy Twig extensions.

[Testing Twig Extensions The Right Way](https://medium.com/@dotcom.software/testing-twig-extensions-the-right-way-10178cb1c8)


There was an explosion of Drupal news this week. So, here we go.

Speaking of Twig, Drupal 10 will update its implementation of Twig from version 2 to 3. Here are the details so you can prepare.

[Twig Updated from 2.x to 3.x](https://www.drupal.org/node/3256890)


Drupal uses the EventDispatcher component from Symfony, which implements the Mediator and Observer design patterns. This allows for business logic to be extensible without making systems entirely coupled. The originating system dispatches an event and allows any other system to react to that event or modify data associated with that event. The originating system can then perform other interactions after its observers have processed the event.

[Registering your PHPUnit test as an event subscriber for testing events](https://mglaman.dev/blog/registering-your-phpunit-test-event-subscriber-testing-events)


###Last Week


While the Drupal Content Management (CMS) system is a popular solution for all-in-one websites, it also works well as a “content warehouse” that other systems can pull from. In this tutorial, we will use Drupal Views to create two API endpoints that an app or website can use to request content from a Drupal CMS.

[How to Create REST API Endpoints with Drupal Views](https://medium.com/geekculture/how-to-create-a-rest-api-endpoint-with-drupal-views-a6c70019e5bc)


And finally on the Drupal front, here is a useful cheat sheet for developers.

[Major Drupal configuration schema cheat sheet update](http://www.hojtsy.hu/blog/2021-dec-22/major-drupal-configuration-schema-cheat-sheet-update-7-years-later)


Tanvir Ahmad shows us how to create PHP CLI application with the Symfony console component.

[Easy Way to Create a Symfony Console Application](https://tanvir-ahmad.medium.com/easy-way-to-create-a-symfony-console-application-d173852c01cb)

He also has this post.

[How to Run Symfony Console Command in AWS Lambda](https://tanvir-ahmad.medium.com/how-to-run-symfony-console-command-in-aws-lambda-347d535e97da)


###Timeless

![Inspector logo](https://symfonystation.com/sites/default/files/inline-images/Horizontal-Inspector-Tagline-Logo_0.png)

Sponsored Article

All sponsored articles are for products we have vetted and stand behind. We either use them or would do so if they were applicable to the Symfony Station site.

We published our first sponsored article on Symfony Station exploring how Code Execution Monitoring helps you identify bugs and bottlenecks in your Symfony app before your customers do. Like all our articles it is now available via audio.

[Why You Should Use Code Execution Monitoring with Symfony](https://www.symfonystation.com/why-code-execution-monitoring-symfony)



![PHP logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/052ayktpks8r8q0nr2fy.png)


##PHP


###ThisWeek


Kévin Dunglas also writes: "In modern web applications, it’s a common pattern to serve the web API and the frontend app from different subdomains. This was the pattern implemented by API Platform until last year. But we changed that for 2 main reasons: performance and REST principles."

[Preventing CORS Preflight Requests Using Content Negotiation](https://dunglas.fr/2022/01/preventing-cors-preflight-requests-using-content-negotiation/)


Alex Hernandez writes: "Over the years, I’ve learned how to set up Docker in a way it’s easy to use without needing to know every detail. Today I want to give you an easy-to-use template in order to use Docker with PHP, explained, so you can understand how it works in just 10 minutes."

[Docker Template For PHP Explained](https://medium.com/codex/docker-template-for-php-explained-d674018e7cef)


Vishwa Chikate asks: "how can we better implement the callback Class/Methods a.k.a the resource handlers associated with an REST HTTP API. The idea which will be covered will help #developers in having a Reusable, Extendable and an easily Maintainable code.

The approach outlined here can be applied to any PHP framework of choice or it can be considered as implementation practice in other languages / framework’s."

[PHP: RESTful API resource handlers](https://medium.com/@vishwa.chikate/php-restful-api-resource-handlers-c2d8376e1e6c)


Feel like building a PHP site from scratch? Jens Kuerschner has the article for you.

[Build a kick-ass PHP Microsite in under 4 hours](https://jenskuerschner.medium.com/build-a-kick-ass-php-microsite-in-under-4h-f21b27b904d2)


I found the following to be an interesting case study from Matt Kingshott.

[How I designed and built Lumeno’s recruitment search engine](https://itnext.io/how-i-designed-and-built-lumenos-recruitment-search-engine-d8918b3500)


I have shared work from Eelco Verbrugge, before. Here he explains PHP interfaces.

[PHP Interfaces Explained]
(https://dev.to/eelcoverbrugge/php-interfaces-explained-35g)


Christophe Avonture mentions that "As a loyal reader of several forums for years, I frequently find unreadable PHP code posted by beginners asking for help. Before we can try to help them, it is sometimes useful to reformat the code and rewrite it partially." He shows us how here.

[Docker - Run/Refactor PHP code from a web interface](https://dev.to/cavo789/docker-runrefactor-php-code-from-a-web-interface-1ffn)


This is a short but very interesting post from Mike Zukowski.

[Adding a watermark to a video in PHP](https://medium.com/@dotcom.software/adding-a-watermark-to-a-video-in-php-81ee7fabd0c)


PHP Stripe API turns the agonizing task of collecting credit card payments into a matter of copy & paste. It’s basically a JavaScript library that interfaces your web page to Stripe’s web servers. The information is never sent to your servers making it so effective. You don’t have to stress over the server-side settings of your application.

The Stripe PHP library gives access to the Stripe API from applications composed within the PHP language. It incorporates a pre-defined set of classes for API that initialize themselves from the API which makes it compatible with a wide run of versions of the Stripe API.

[Streamline Your Online Payments With PHP Stripe Payment Gateway Integration](https://www.cloudways.com/blog/php-stripe-integration/)


###Last Week

Based on the most recent Stack Overflow survey in 2020, Python was the most used language according to 70% of its respondents, while PHP was chosen by 25%. However, market reports from w3techs.com tell a different story, showing that nearly 78% of all websites today run PHP. Much of PHP’s mainstay can be attributed to Wordpress and Shopify, which constitute around 45% of all websites today.

[8 Reasons Why PHP Development Is Not Dead](https://medium.com/@aristeksystems/8-reasons-why-php-development-is-not-dead-82b07ae2acd6)


###Timeless


Tips are always welcome, and Damian Brdej has these for PhPStorm.

[8 most useful PhpStorm keyboard shortcuts](
https://dev.to/quentindamianino/8-most-useful-phpstorm-keyboard-shortcuts-4476)



![Code logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vh4enyuqbl5ibnddk3yq.jpeg)


##Other


The State of the Octoverse from GitHub explores a year of change in programming. Its research tells you how to improve your performance and well-being by developing code, creating documentation, and supporting communities in smarter, more sustainable ways.

[The State of the Octoverse](https://octoverse.github.com/)


The Next Web looks at why shrinkflation is not a solution for inflation in the programming industry.

[Don’t let ‘shrinkflation’ affect your software development](https://thenextweb.com/news/shrinkflation-software-development)


Kesk gives us "eight little tips that can save you time in your day-to-day as a programmer. Some are basic while others could be a little complex."

[8 Super-useful SQL Snippets You’ll Want to Have on Hand](https://betterprogramming.pub/8-super-useful-sql-snippets-youll-want-to-have-on-hand-5b01fd7c87de)


Have you published or seen something related to Symfony or PHP that we missed? If so, please [contact us](https://www.symfonystation.com/contact).


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](https://www.symfonystation.com/contact) at the bottom of any of our site’s pages. Joining gets you each week's communique in your inbox (a day early). And follow us on Twitter at [@symfonfystation](https://twitter.com/symfonystation).


Happy Coding Symfonistas!


![Photo of Reuben Walker](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xx8p5n2zj9q2wi64tnon.png)

Reuben Walker

Founder [Symfony Station](https://www.symfonystation.com/)

Reuben is also Ringmaster of [Mobile Atom Media](https://media.mobileatom.net/about-us/) and its division [Mobile Atom Code](https://www.mobileatom.net/).