A white paragraph.
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.
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!”
Platform .sh asks:
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à.
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, 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.”
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.”
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
Robin Ingelbrecht opines that:
RabbitMQ and Drupal, a perfect match
Its founder has:
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
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
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:
Victor Todoran encourages us to:
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.”
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.”
Chuck Watson looks at building an:
Gagan Chordia explores:
Selcuk Mart looks at:
Traits: Robotic Assembly Lines of PHP
He also has:
Open Closed Principle From SOLID: Implementing Rules, Technics and Real PHP Examples
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
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
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:
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. ;)
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 @firstname.lastname@example.org. 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!
You can find a vast array of curated evergreen content.