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

Symfony Station Communiqué - 13 May 2022

By Reuben Walker, 13 May, 2022
Small robot reading a book

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é in their Week of Symfony.

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)

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

New in Symfony 6.1: Notifier and Messenger Integrations

New in Symfony 6.1: Profiler Improvements (part 2)

New in Symfony 6.1: Profiler Improvements (part 1)

New in Symfony 6.1: Expressions as Service Factories

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!

Announcing SymfonyWorld Online 2022 Winter Edition

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

Platform .sh asks:

Can we create a green web?

Featured Item

Featured Item graphic

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à.

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

Azay Karimli continues his series:

Get started with Symfony 6 for beginners — Part 2 | Rout, Controller, Rendering

Tanvir Ahmad shows us:

How to Configure Symfony Console Skeleton Project

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

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]

Using Symfony Components, Artisans Web shows us:

How to Build a 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

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

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

Iain Houston shows us how to move:

From Swiftmailer to Symfony Mailer

RabbitMQ has a new version.

Release RabbitMQ 3.10.0 · rabbitmq/rabbitmq-server

CMSs

Robin Ingelbrecht opines that:

RabbitMQ and Drupal, a perfect match

Its founder has:

A plan for Drupal 11

This is self-explanatory.

Drupal Introductory Guide with Installation

Lemberg Solutions shares their:

5 Best Sessions at 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

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

PHP logo

PHP

This week

The PHP Foundation interviewed its new core developers.

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

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

Internal Architecture of HydePHP - Part 1

Internal Architecture of HydePHP - Part 2: Services

Eden AI shows us:

How to use OCR with PHP?

Victor Todoran encourages us to:

Start using PHPStan today

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

Lucas Pereyra has an in-depth look at:

Dealing With Inconsistent Reads When Using Transactions And Async Tasks In Enterprise Applications

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

Pascal Landau continues his tutorial series:

CI Pipelines for dockerized PHP Apps with Github & Gitlab [Tutorial Part 7]

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

Chuck Watson looks at building an:

Email Form with Recapcha v3

Gagan Chordia explores:

PHP’s RESTful Life

Selcuk Mart looks at:

Traits: Robotic Assembly Lines of PHP

Last Week

He also has:

Open Closed Principle From SOLID: Implementing Rules, Technics and Real PHP Examples

Code logo

Other

Please visit our Support Ukraine page 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

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

TechCrunch reports that:

Congress asks Meta, TikTok, YouTube and Twitter to archive evidence of Russian war crimes

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

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

The Evil Empire Strikes Back

Insider also says:

Russia is quietly wielding its cyber weapons as its military struggles in Ukraine

PCMag reports that:

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

The Hill reports that:

Treasury sanctions cryptocurrency tool used by North Korea

Cybersecurity

The NextWeb reports:

Clearview AI clears the final hurdle in its quest to undermine democracy

VentureBeat looks at:

The Colonial Pipeline ransomware attack a year on 5 lessons for security teams

GitHub has this:

Today’s most common security vulnerabilities explained

Ars Technica reports that:

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

More

Ryan Loos opines:

Hell Is Programming a Calendar (Part 1)

Silicon Angle looks at:

The top trends driving technology providers in 2022

MiŠko Hevery believes:

Hydration is Pure Overhead

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

Svelte and the Future of Frontend Development

This article is one I need to read. ;)

Get good at Git

Joshua Otwell explores

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

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. Joining gets you each week's communiqué in your inbox (a day early). And follow us on Twitter at @symfonfystation. And since it may be turning into Shitter, we are now on Mastodon as well at @symfonystation@phpc.social. Consider joining the @phpc.social 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. Or, if you know of one, get in touch.

Keep coding Symfonistas!

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!