Symfony Station Communiqué — 13 May 2022. A look at Symfony, PHP, and Cybersecurity News!
Tags: javascript, php, symfony, cybersecurity
Published: 2022-05-13 17:03:08


[This communiqué originally appeared on Symfony Station](https://www.symfonystation.com/Symfony-Station-Communique-13-May-2022), your source for cutting-edge Symfony and PHP news.

Welcome to this week's Symfony Station Communiqué. It's your weekly review of the essential news in the Symfony and PHP development communities. We also cover the cybersecurity world.

Take your time and enjoy the items most relevant and valuable to you.

Thanks to Javier Eguiluz and Symfony for sharing [our last communiqué](https://www.symfonystation.com/Symfony-Station-Communique-6-May-2022) in [their Week of Symfony](https://symfony.com/blog/a-week-of-symfony-801-2-8-may-2022).

**Please note that links will open in a new browser window. My opinions will be in bold.**

## Symfony

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

Highlight -> “This week, Symfony continued fixing bugs on its upcoming Symfony 6.1 
version. We also finished some new features for it, such as the support for Monolog 3. In addition, Symfony shut down the legacy infrastructure of Symfony Flex, because most people have already upgraded, and the migration process is simple for those who haven't upgraded yet.”

[A Week of Symfony #801 (2-8 May 2022)](https://symfony.com/blog/a-week-of-symfony-801-2-8-may-2022)

Javier Eguiluz continues to update us on what’s coming in 6.1 with:

[New in Symfony 6.1: Notifier and Messenger Integrations](https://symfony.com/blog/new-in-symfony-6-1-notifier-and-messenger-integrations)

[New in Symfony 6.1: Profiler Improvements (part 2)](https://symfony.com/blog/new-in-symfony-6-1-profiler-improvements-part-2)

[New in Symfony 6.1: Profiler Improvements (part 1)](https://symfony.com/blog/new-in-symfony-6-1-profiler-improvements-part-1)

[New in Symfony 6.1: Expressions as Service Factories](https://symfony.com/blog/new-in-symfony-6-1-expressions-as-service-factories)

[New in Symfony 6.1: Customizable Collection Prototypes](https://symfony.com/blog/new-in-symfony-6-1-customizable-collection-prototypes)

Symfony had a variety of announcements about events.

[SymfonyLive Paris 2022: the French Symfony conference was a blast last month!](https://symfony.com/blog/symfonylive-paris-2022-the-french-symfony-conference-was-a-blast-last-month)

[Announcing SymfonyWorld Online 2022 Winter Edition](https://symfony.com/blog/announcing-symfonyworld-online-2022-winter-edition)

[Discover 5 more talks and speakers at SymfonyWorld Online 2022 Summer Edition](https://symfony.com/blog/discover-5-more-talks-and-speakers-at-symfonyworld-online-2022-summer-edition)

SymfonyCasts announced, “Big stuff this week on our quest to upgrade to Symfony 6!

**Recipe Upgrades!** Our last big recipe is for Webpack Encore. While we're here, we'll 
update from "stimulus v2" to "@hotwired/stimulus v3" and make all the 
changes needed to keep our asset setup shiny and new!

**PHP 8!** To get to Symfony 6, we'll need to use PHP 8! Promoted properties + other goodies... all automated thanks to Rector.

**PHP 8 Attributes** And...one of the *nicest* parts about being on PHP 8 is that we can use PHP 
attributes! We refactor EVERY annotation to a shiny new PHP 8 attribute. And we'll do it in just 5 minutes, thanks to Rector!”

[This week on SymfonyCasts](https://5hy9x.r.ag.d.sendibm3.com/mk/mr/gWXKXsOGUVKFTYTk7MDFiygSdwOoFFH9BlITaxOFXak1VVCsZ3tps5E57Wn_cLiSBh423x_G2WXpxSQreI5ZD7NWE5jOd3EM2-4eIffS_oDMN-2t0eRREWFBh5q1E1WbikDDsXEdsA)

 Platform .sh asks:

[Can we create a green web?](https://flip.it/VkqMI2)

## Featured Item

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

Although it’s not the most important post of the week, we are tooting our own horn again.

Our mission is not only to cover Symfony and PHP. We also serve their respective developer communities. One way to do that is to help more developers write about Symfony and PHP.

If you are reading this communiqué , you are interested in technical topics. You might even publish a newsletter and/or articles covering them. If so, we created this resource for you. If you don’t, we hope you will start soon. It is a way to give back to the community that helped make you successful.

### **[Need an Efficient Writing Stack and Workflow for a Tech Newsletter or Blog? Voilà.](https://www.symfonystation.com/Writing-Stack-Technical-Newsletter-Blog)**

### This Week

Mateusz Kolasa writes, “Software developers are very opinionated when it comes to the ‘frameworks’ and ‘libraries’ that they love. But what are these frameworks and libraries exactly? In this article, I’ll briefly cover how these tools help developers get work done, and showcase an example of React and Symfony being used to create a fully functional app.”

[Develop Apps Using Symfony & React in Perfect Harmony](https://polcode.com/resources/blog/develop-apps-using-symfony-and-react-in-perfect-harmony/)

Azay Karimli continues his series:

[Get started with Symfony 6 for beginners — Part 2 | Rout, Controller, Rendering](https://azaykarimli.medium.com/get-started-with-symfony-6-for-beginners-part-2-rout-controller-rendering-b95b731dbb35)

Tanvir Ahmad shows us:

[How to Configure Symfony Console Skeleton Project](https://tanvir-ahmad.medium.com/how-to-configure-symfony-console-skeleton-project-7e05ebb4b96f)

Dejan Angelov notes, “that by using custom PHP attributes, we can have our Symfony Messenger message handlers placed in any service in our application. The only requirement for them is to be methods that are able to receive the message object as an argument. In this post, we will see how we can avoid that requirement, and register any method as a message handler, by automatically passing any of the message’s properties as values for the handler’s arguments.”

[Experimental: Unpacking message properties as handler arguments in Symfony Messenger](https://angelovdejan.me/2022/05/10/experimental-unpacking-message-properties-as-method-arguments.html)

Aymeric Ratinaud says, “I would like to share with you how override the query of a collection in API Platform and keep the pagination, filters and doctrine extensions on it.”

[How to create a Collection Data Provider and keep Doctrine Extension, Filters and Pagination on it [API Platform]](https://dev.to/aratinau/how-to-create-a-collection-data-provider-and-keep-doctrine-extension-filters-and-pagination-on-it-api-platform-59ih)

Using Symfony Components, Artisans Web shows us:

[How to Build a Website Scraper in PHP](https://artisansweb.net/build-website-scraper-in-php/)

PHP Magazine writes, “Centreon is an open source network, system and application monitoring tool. It is the only AIOps Platform Providing Holistic Visibility to Complex IT Workflows from Cloud to Edge. 

Centreon is powered by PHP, with some TypeScript, javascript, Perl, shell, and Symfony 5.4.”

[Centreon, powerful IT and Application monitoring software](https://phpmagazine.net/2022/05/centreon-powerful-it-and-application-monitoring-software.html)

Tomas Votruba says, “ECS runs on Symfony container configuration to build the service model. While it brings automated autowiring, array autowiring, and native container features, the downside is that ECS configuration syntax is complex and talkative.

We decided to simplify it so ECS is truly easy to use.”

[New in ECS: Simpler Config](https://tomasvotruba.com/blog/new-in-ecs-simpler-config/)

DrupalEasy notes, “DDEV is a Docker-based local development environment solution that allows developers to run local copies of all their Drupal and WordPress projects in a personal development environment. Much like similar Docker-based solutions, DDEV hides most of the complexity of Docker — allowing Drupal and WordPress developers to focus on what they like best.”

[DDEV + Pantheon Integration](https://www.drupaleasy.com/blogs/ultimike/2022/05/ddev-pantheon-integration)

Iain Houston shows us how to move:

[From Swiftmailer to Symfony Mailer](https://iainhouston.com/swift_to_symfony/)

RabbitMQ has a new version.

[Release RabbitMQ 3.10.0 · rabbitmq/rabbitmq-server](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.10.0)

**CMSs**

Robin Ingelbrecht opines that:

[RabbitMQ and Drupal, a perfect matc](https://ingelbrechtrobin.medium.com/rabbitmq-and-drupal-a-perfect-match-6b1bf398f938)h

Its founder has:

[A plan for Drupal 11](https://dri.es/a-plan-for-drupal-11)

This is self-explanatory.

[Drupal Introductory Guide with Installation](https://www.linuxandubuntu.com/home/drupal)

Lemberg Solutions shares their:

[5 Best Sessions at DrupalCon Portland 2022](https://lembergsolutions.com/blog/5-best-sessions-drupalcon-portland-2022)

Jacob Rocowitz writes, “Happily, standardization, simplification, and acceleration became the key benefits of my Schema.org Blueprints module. I am looking forward to doing a show-n-tell about it for you below.”

[Introducing the Schema.org Blueprints Module for Ambitious Drupal Site Builders](https://www.jrockowitz.com/blog/schemadotorg-blueprints)

**eCommerce**

Lucas Teixeira dos Santos Santana shows us how to create admin forms in Magento 2. (Portuguese)

[Como criar formulários do Admin do Magento 2](https://dev.to/santanaluc94/como-criar-formularios-do-admin-do-magento-2-3l0b)

![PHP logo](https://symfonystation.com/sites/default/files/inline-images/php-logo_4.png)

## PHP

### This week

The PHP Foundation interviewed its new core developers.

[Interview with Core Developers](https://thephp.foundation/blog/2022/05/06/interview-with-core-developers/)

Daniel Benzie notes, “When writing software, you will spend a large portion of time creating code that takes an object, validates it, and then performs some actions. One of the core tenets of SOLID code is the Single Responsibility Principle, and this means there should be a separation of the code that validates the object and the code that executes the action.”

[Validating Objects and the Single Responsibility Principle in OOP](https://danielbenzie.com/validating-objects-and-the-single-responsibility-principle-in-oop-778d652d80b3)

Caen provides an introduction to the internal architecture of his creation, HydePHP.

[Internal Architecture of HydePHP - Part 1](https://hydephp.github.io/posts/internal-architecture-of-hydephp-part-1.html)

[Internal Architecture of HydePHP - Part 2: Services](https://hydephp.github.io/posts/internal-architecture-of-hydephp-part-2)

Eden AI shows us:

[How to use OCR with PHP?](https://dev.to/edenai/how-to-use-ocr-with-php-2084)

Victor Todoran encourages us to:

[Start using PHPStan today](https://medium.com/@victorvulpeatodoran/start-using-phpstan-today-1329286411f4)

Alexandru Năstase writes, “Some applications require a PHP extension that is not present on the local system or there might be some specific php.ini configuration that is set on the production server. It is considered as part of the infrastructure rather than the application itself but can cause problems because of inconsistency. Using Docker can solve these problems and has the added benefit of being a good way to develop applications.”

[Building a simple PHP Dockerized environment](https://alexandrunastase.com/posts/building-a-simple-php-dockerized-environment)

Lucas Pereyra has an in-depth look at:

[Dealing With Inconsistent Reads When Using Transactions And Async Tasks In Enterprise Applications](https://medium.com/@lukaspereyra8/dealing-with-inconsistent-reads-when-using-transactions-and-async-tasks-in-enterprise-applications-2ea053d3f5b9)

Roberto B. says, “In a WebSocket "scenario" you have a server-side part and multiple clients. A client can connect with the server side part, and if a client wants to communicate with other clients, it can do it by sending messages to the server. The server will forward or will send messages to the client.

The connection between the client and the server is persistent and allows for a two-way conversation for multiple messages.”

[WebSocket with PHP](https://dev.to/robertobutti/websocket-with-php-4k2c)

Pascal Landau continues his tutorial series:

[CI Pipelines for dockerized PHP Apps with Github & Gitlab [Tutorial Part 7]](https://www.pascallandau.com/blog/ci-pipeline-docker-php-gitlab-github/)

Vishwa Chikate writes, “The SplObjectStorage class provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects.”

[PHP: SplObjectStorage Class](https://medium.com/@vishwa.chikate/php-splobjectstorage-class-530ff5b5aab7)

Chuck Watson looks at building an:

[Email Form with Recapcha v3](https://dev.to/madeinmilwaukee/email-form-with-recapcha-v3-kb0)

Gagan Chordia explores:

[PHP’s RESTful Life](https://gaganchordia.medium.com/phps-restful-life-70df2502a2c1)

Selcuk Mart looks at:

[Traits: Robotic Assembly Lines of PHP](https://m.phpweekly.com/f/a/FUvAAbfQJV4PpPSHtHlOuA~~/AABGgAA~/RgRkX47TP0RQaHR0cHM6Ly9tZWRpdW0uY29tL0BtYXJ0c2VsY3VrL3RyYWl0cy1yb2JvdGljLWFzc2VtYmx5LWxpbmVzLW9mLXBocC1mNDAwZjVlNjkzNDBXA3NwY0IKYnHTCX1ie2THV1IXcndhbGtlckBtb2JpbGUtYXRvbS5jb21YBAAAAAA~)

### Last Week

He also has:

[Open Closed Principle From SOLID: Implementing Rules, Technics and Real PHP Examples](https://m.phpweekly.com/f/a/Tor0CGlUm8Y_IjiZd1incg~~/AABGgAA~/RgRkX47TP0R-aHR0cHM6Ly9tZWRpdW0uY29tL0BtYXJ0c2VsY3VrL29wZW4tY2xvc2VkLXByaW5jaXBsZS1mcm9tLXNvbGlkLWltcGxlbWVudGluZy1ydWxlcy10ZWNobmljcy1hbmQtcmVhbC1waHAtZXhhbXBsZXMtNGZmMGM1ZjZiYWNlVwNzcGNCCmJx0wl9Yntkx1dSF3J3YWxrZXJAbW9iaWxlLWF0b20uY29tWAQAAAAA)

![Code logo](https://symfonystation.com/sites/default/files/inline-images/code-logo_3.jpeg)

## Other

[Please visit our Support Ukraine page](https://www.symfonystation.com/Support-Ukraine) to learn how you can help kick Russia out of Ukraine (eventually).

### The cyber response to Russia’s War Crimes

Lawfare reports, “On April 28, the Biden administration announced a new global partnership that sets norms for the use of technology by nation-states: the Declaration for the Future of the Internet. While the declaration might seem like a reproach of the digital authoritarianism of Russia and China, it is far more likely to warn off wavering democracies from internet transgressions.”

[The Declaration for the Future of the Internet Is for Wavering Democracies, Not China and Russia](https://www.lawfareblog.com/declaration-future-internet-wavering-democracies-not-china-and-russia)

Via the EU, “EU sanctions support the objectives of the EU’s common foreign and security policy, such as conflict resolution, the fight against terrorism, non-proliferation of weapons
of mass destruction, and the promotion of democracy, rule of law and human rights. 

While EU sanctions are adopted by the Council of the EU, Member States are responsible for
their enforcement, the European Commission monitors the implementation and enforcement of EU
sanctions across Member States.

The EU Sanctions Whistleblower Tool protects your identity and allows you to contact us anonymously to report violations of EU sanctions.”

[Welcome to the EU Sanctions Whistleblower Tool](https://eusanctions.integrityline.com/frontpage)

TechCrunch reports that:

[Congress asks Meta, TikTok, YouTube and Twitter to archive evidence of Russian war crimes](https://techcrunch.com/2022/05/12/russia-ukraine-social-media-war-crimes-congress/)

The Guardian reports on brave Russians daring to speak the truth to power.

[‘Paranoid dictator’: Russian journalists fill pro-Kremlin site with anti-war articles](https://www.theguardian.com/world/2022/may/09/russian-journalists-pro-kremlin-site-lenta-anti-war-articles)

Insider shows us how:

[Hackers replaced Russian TV schedules during Putin's 'Victory Day' parade with 
anti-war messages, saying the blood of Ukrainians is on Russians' hands](https://www.businessinsider.com/russia-victory-day-tv-broadcasts-hacked-anti-war-messages-2022-5)

### The Evil Empire Strikes Back

Insider also says:

[Russia is quietly wielding its cyber weapons as its military struggles in Ukraine](https://www.businessinsider.com/russia-quietly-wields-cyber-weapons-as-military-struggles-in-ukraine-2022-5)

PCMag reports that:

[Russian Space Agency Head Threatens Elon Musk Over Starlink In Ukraine](https://www.pcmag.com/news/russian-space-agency-head-threatens-elon-musk-over-starlink-in-ukraine)

The Guardian also reports that:

[China’s pro-Russia propaganda exposed by online activists](https://www.theguardian.com/world/2022/may/10/china-pro-russia-propaganda-exposed-by-online-activists-ukraine)

The Hill reports that:

[Treasury sanctions cryptocurrency tool used by North Korea](https://thehill.com/policy/finance/3479501-treasury-sanctions-cryptocurrency-tool-used-by-north-korea/)

### Cybersecurity

The NextWeb reports:

[Clearview AI clears the final hurdle in its quest to undermine democracy](https://thenextweb.com/news/clearview-ai-just-cleared-final-hurdle-in-its-quest-to-undermine-us-democracy)

VentureBeat looks at:

[The Colonial Pipeline ransomware attack a year on 5 lessons for security teams](https://venturebeat.com/2022/05/07/colonial-pipeline-ransomware-attack/)

GitHub has this:

[Today’s most common security vulnerabilities explained](https://github.blog/2022-05-06-todays-most-common-security-vulnerabilities-explained/)

Ars Technica reports that:

[Backdoor in public repository used new form of attack to target big firms](https://arstechnica.com/information-technology/2022/05/backdoor-in-public-repository-used-new-form-of-attack-to-target-big-firms/)

Consensus Enterprises writes that “For the past few months, we’ve been working with the Drupal Association on a project to enhance the security of the Drupal.org software repository. The most succinct way of describing this project is: Securing automated software deployments from supply chain attacks.”

[TUF for Humans: Explaining Software Update Security](https://drupal.us2.list-manage.com/track/click?u=618af7a460cf93cf211231139&id=212f86118b&e=2fcfe28a68)

### More

Ryan Loos opines:

[Hell Is Programming a Calendar (Part 1)](https://drupal.us2.list-manage.com/track/click?u=618af7a460cf93cf211231139&id=6c9b490835&e=2fcfe28a68)

Silicon Angle looks at:

[The top trends driving technology providers in 2022](https://siliconangle.com/2022/05/08/top-trends-driving-technology-providers-2022/)

MiŠko Hevery believes:

[Hydration is Pure Overhead](https://www.builder.io/blog/hydration-is-pure-overhead)

In an interview with Rich Harris, The New Stack looks at:

[Svelte and the Future of Frontend Development](https://thenewstack.io/svelte-and-the-future-of-front-end-development/)

This article is one I need to read. ;)

[Get good at Git](https://kubesimplify.com/get-good-at-git)

Joshua Otwell explores

[Multiple WHERE Clause Conditionals Using the MySQL AND Logical Operator](https://joshuaotwell.com/multiple-where-clause-conditionals-using-the-mysql-and-logical-operator/)

Finally, the annual survey from JetBrains is now open and, of course, there is a section about PHP.

[Developer Ecosystem Survey 2022](https://surveys.jetbrains.com/s3/t-developer-ecosystem-survey-2022)

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

Please share this post. :) Also, be sure to [join our newsletter list at the bottom of our site’s pages](https://www.symfonystation.com/contact). Joining gets you each week's communiqué in your inbox (a day early). And [follow us on Twitter at @symfonfystation](https://twitter.com/symfonystation). And since it may be turning into Shitter, we are now on Mastodon as well at [@symfonystation@phpc.social](https://phpc.social/web/@symfonystation). Consider joining the [@phpc.social](https://phpc.social/web/home) instance.

Do you own or work for an organization that would be interested in our promotion opportunities? If so, please get in touch with us. We’re in our infancy, so it’s extra economical. ;)

More importantly, if you are a Ukrainian company with coding-related products, we can offer free promotion on [our Support Ukraine page](https://www.symfonystation.com/Support-Ukraine). Or, if you know of one, get in touch.

Keep coding Symfonistas!

## Author

![Reuben Walker toasting Symfony](https://www.symfonystation.com/sites/default/files/inline-images/Reuben-Blur.jpg)

### Reuben Walker

Founder
Symfony Station