Symfony Station Communiqué - 18 March 2022. A look at Symfony and PHP news!
Tags: symfony, php, drupal, cybersecurity
Published: 2022-03-18 14:15:49

This article originally appeared on [Symfony Station](https://www.symfonystation.com/Symfony-Station-Communique-18-March-2022).

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

This week, we again cover tech aspects of the war crimes going on in Ukraine and how you can help.

Take your time and enjoy the items most valuable for you.

Thanks to Javier Eguiluz and Symfony for sharing [our last communiqué](https://www.symfonystation.com/Symfony-Station-Communique-11-March-2022) in their [Week of Symfony](https://symfony.com/blog/a-week-of-symfony-793-7-13-march-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 development focused on fixing bugs and finishing new features for the upcoming Symfony 6.1 version. One of those new features is a button to copy requests as cURL commands in the Symfony Profiler. Meanwhile, the SymfonyLive Paris 2022 conference, which will take place in just 4 weeks, announced its complete workshop and talk schedule.

[A Week of Symfony #793 (7-13 March 2022) (Symfony Blog)](https://symfony.com/blog/a-week-of-symfony-793-7-13-march-2022)

Early bird registration for SymfonyCon Disneyland Paris 2022 ends on March 31st

[https://symfony.com/blog/early-bird-registration-for-symfonycon-disneyland-paris-2022-ends-on-march-31st](https://symfony.com/blog/early-bird-registration-for-symfonycon-disneyland-paris-2022-ends-on-march-31st)

Unsurprisingly after the recent merger they announced:

[Symfony in the Cloud: Platform.sh becomes the official Symfony PaaS](https://symfony.com/blog/symfony-in-the-cloud-platform-sh-becomes-the-official-symfony-paas)

            
Fabien Potencier asks “How can you get started with Symfony 6? What are the best resources to learn Symfony? How can I learn about the latest best practices? Those are legitimate questions I get from the community.”

[Get started with Symfony 6](https://symfony.com/blog/get-started-with-symfony-6)

SymfonyCast has started a new course on Symfony 6!

[This week on SymfonyCasts](https://5hy9x.r.ag.d.sendibm3.com/mk/mr/WO0oOwEhMOELynWpUwYVKm-l_OQu1NDE6IAZJTNyXDhsEgVMrpwNtMjrC5CHuOc4oPK3UWH-loNzA42Qvl4LjefZWUdeWE-hV5pIvVLV6x8DB07PoUdYa49j-PmT7eRRefzSEYh-Hg)

Elise Hamimi reports “As the creator of Symfony, SensioLabs strengthens its relationship with its long-time partner in the US: Unleashed Technologies. This strategic partnership is the result of successful joint projects with Unleashed Technologies. In 2022, SensioLabs and Unleashed Technologies are speeding up to better serve American users of Symfony.**”**

[SensioLabs strengthens its partnership with Unleashed Technologies](https://blog.sensiolabs.com/2022/03/16/sensiolabs-strengthens-its-partnership-with-unleashed-technologies/?utm_source=SensioLabs+blog&utm_medium=url&utm_campaign=Sensiolabs+%26+Unleashed+blog+post&utm_content=EN)

She also has:

[Learn how to migrate to the PHP framework Symfony](https://blog.sensiolabs.com/2022/03/03/learn-migrate-php-framework-symfony/)

## Featured Item

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

Forbes writes Ukraine’s IT pros are “ fixing internet in bombed-out buildings, finding rogue operators providing Russians with mobile connections and thwarting hackers. The telecom companies of Ukraine and their employees are being hailed as heroes in the war.”

[Bombs And Hackers Are Battering Ukraine’s Internet Providers. ‘Hidden Heroes’ Risk Their Lives To Keep Their Country Online](https://www.forbes.com/sites/thomasbrewster/2022/03/15/internet-technicians-are-the-hidden-heroes-of-the-russia-ukraine-war/?curator=MediaREDEF)

**If these heroes can do this, we can do more ourselves to stand with Ukraine and protect democratic values.**

### This Week

Sergii Demianchuk writes “welcome to the second article devoted to the theme:  “How to work with ElasticSearch using Symfony PHP framework”. Here we will prepare our local environment for further development. As you remember from **[Part 1](https://sergiiblog.com/symfony-elasticsearch/)** we have to create a web server, microservice application, and Elasticsearch as standalone docker containers.”

[Symfony, Elasticsearch, and Docker environment](https://sergiiblog.com/symfony-elasticsearch-and-docker-environment/)

Michał Romańczuk notes “There are many tools for static PHP code analysis, but one of the most popular is PHPStan. It may be due to its ease of use, versatility and the possibility of using many extensions for example to Symfony, Doctrine, Elasticsearch, Monolog, Guzzle, etc.”

[Using PHPStan with Symfony - static analysis for better PHP code quality](https://dev.to/accesto/using-phpstan-with-symfony-static-analysis-for-better-php-code-quality-26eh)

Fabien Lemoine show us “How to combine the power of the Symfony Mailer **component with the features offered by an email provider.”

[Envoyer des e-mails transactionnels avec un service tiers sous Symfony](https://fabien-lemoine.medium.com/envoyer-des-e-mails-transactionnels-avec-un-service-tiers-sous-symfony-4af9de560946)

Mchojrin takes a look at how to handle exceptions in Rest APIs with Symfony. It’s in Spanish.

[Cómo manejar las excepciones en API Rest con Symfony](https://academy.leewayweb.com/manejar-excepciones-api-rest-symfony/)

Webkul writes “PrestaShop employs various types of cache such as Smarty, assets (CSS/JS), XML cache, etc. It also provides ways to clear individual cache types from our module. So in this blog, we will discuss how we can clear PrestaShop cache in module code.”

[Clear PrestaShop Cache in module](https://webkul.com/blog/clear-prestashop-cache-in-module/)

They also have:

[Custom Events and Event Subscribers in Symfony](https://webkul.com/blog/custom-events-and-event-subscribers-in-symfony/)

Sylius notes “Since the very beginning of Sylius’ existence, our philosophy was to focus on our domain and not reinvent the wheel. That’s why Sylius is entirely based on Symfony which gave us a solid foundation to build specific e-commerce bundles within the already existing and highly standardized framework.

Following the very same core idea, Sylius never intended to solve problems of other domains. There are wonderful tools in different categories, which allows us to focus on what we know best – the e-commerce domain.”

[Why best-of-breed is the best thing that can happen to your mid-market e-commerce?](https://sylius.com/blog/what-is-best-of-breed/)

I agree that unless you have a small and simple application, best-of-breed is the way to go for your stack.

Joseph Ndedde Udonsak writes “Recently, I was working on a feature and needed to generate and mail a PDF document whenever a payment was made. I dispatched a Message and in the message handler, I used the KNP Snappy Bundle to generate a PDF from a twig template. It was pretty straightforward (or so I thought) until I saw the mayhem that had been let loose in my 
failed transport.

[Today I Learned — Twig and Services](https://medium.com/@UP634182/today-i-learnt-twig-and-services-fca8d3f05d29)

He also has:

[How to inject multiple instances of an interface in a service](https://medium.com/@UP634182/today-i-learnt-how-to-inject-multiple-instances-of-an-interface-in-a-service-1488cf7836bd)

The Drop Times has an interview with Drupal’s founder with some interesting takes on headless and low code.

[Dries Buytaert: Low Code No Code Adoption Good for Drupal](https://www.thedroptimes.com/article/article/8870/dries-buytaert-low-code-no-code-adoption-good-drupal?utm_source=drupal-newsletter&utm_medium=email&utm_campaign=drupal-newsletter-20220317)

And speaking of headless Drupal here’s an article and a solution taking a look.

[Five basic things I’ve learned using GraphQL in Drupal](https://www.therussianlullaby.com/blog/five-basic-things-ive-learned-using-graphql-in-drupal/)

[The future of Drupal is headless](https://next-drupal.org/)

**Dries disagrees with the headless opinion and so do I. That applies to WordPress as well.**

Ryan Szrama writes “We've long recommended Swift Mailer for formatting and sending HTML emails from Drupal Commerce. Symfony announced the project's deprecation late last year, recommending folks switch to using the 3-year-old Symfony Mailer instead after they brought it up to full feature parity with the Swift Mailer library.

Fortunately, there's a module for that!”

[Replace Swift Mailer with Symfony Mailer for HTML email](https://www.centarro.io/blog/replace-swift-mailer-symfony-mailer-html-email)

### Timeless

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

*Sponsored Article*

We published our third sponsored article on Symfony Station exploring **how to Implement Code Execution Monitoring for your Symfony apps via Inspector.** Like all our articles it is now available via audio.

[How to Implement Code Execution Monitoring for your Symfony apps via Inspector](https://www.symfonystation.com/how-implement-code-execution-monitoring-symfony-inspector)

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

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

## PHP

### This week

Dariusz Gafka writes “We often need to schedule the execution of given business functionality in our applications. The timing depends on what we want to achieve. It may be monthly executed invoices or notifications sent after the user was registered on the website. And in this article, we will deep into different ways of scheduling execution in PHP.”

[Scheduling Execution in PHP](https://blog.devgenius.io/scheduling-execution-in-php-e9e5023b793c)

PHPStan asks:

[What's Up With @template-covariant?](https://phpstan.org/blog/whats-up-with-template-covariant)

They also look at:

[Generics By Examples](https://phpstan.org/blog/generics-by-examples)

Digital Ocean shows us:

[How To Use Functions in PHP](https://www.digitalocean.com/community/tutorials/how-to-use-functions-in-php)

Gaurav Makhecha ****says, “Thanks to the PSR-4 autoloading, we can define the namespaces prefix and their corresponding base directories.”

[PHP Namespaces are not the same as the Directory Structure](https://dev.to/gauravmak/php-namespaces-are-not-the-same-as-the-directory-structure-160o)

Marcin Szydlowski writes “I have recently spotted an interesting vulnerability in a PHP application, which was in the scope of a private bug bounty program. This vulnerability has nothing to do with standard web app issues like SQLi, XSS, or IDOR, hence despite relatively small impact I decided to write about it.”

[Insecure comparison in PHP — Business Logic Bypass vulnerability](https://infosecwriteups.com/insecure-comparison-in-php-business-logic-bypass-vulnerability-83e08190f2e2)

Brent Roose & Freek Van der Herte are starting a series of posts with tips for writing clean PHP. They’re from a course the duo offers.

[Code that breathes](https://freek.dev/2206-code-that-breathes)

Joshua Otwell says, “I'm sharing my 5 favorite Programming/Developer newsletters that I think you should read too.”

[5 Developer/Programming Newsletters You Should Be Reading](https://openlamptech.substack.com/p/5-developerprogramming-newsletters)

**There are good SQL and PHP choices on the list.**

Meet Simseck states “I’d like to talk about Swoole in this article but it won’t be covering the cumbersome processes such as installing, configuring, using, and so on. I’d like to cover the philosophy behind it. Why do we need it in the PHP world? Which scenarios are the best to use this kind of external package/extension?”

[Let’s Tackle PHP Swoole Solemnly](https://medium.com/beyn-technology/lets-tackle-php-swoole-solemnly-18e424731fa8)

![https://symfonystation.com/sites/default/files/inline-images/code-logo_3.jpeg](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

MarketWatch writes “One reason that some military analysts and Russia experts believe may have contributed to Putin miscalculating his chances of a quick victory, or his ability to outlast the Ukrainians, is that he underestimated the efficacy of Western sanctions in sapping Russia’s power to wage war, specifically by denying it access to critical technologies.”

[Putin tried to create a homegrown tech industry.  His failure could be key to a Russian defeat, experts say](https://www.marketwatch.com/story/putin-tried-to-create-a-homegrown-tech-industry-his-failure-could-be-key-to-a-russian-defeat-experts-say-11647023347?mod=flipboard_politicsecon)

The Hill notes “With the assistance of the West, Ukraine has become more resilient since the initial cyberattacks, especially given that it is uniquely vulnerable to Russian attacks since most of its infrastructure was built by Moscow during the Soviet era.”

[US, EU cyber investments in Ukraine pay off amid war](https://thehill.com/policy/technology/597921-us-eu-cyber-investments-in-ukraine-pay-off-amid-war)

The Guardian reports “about 300,000 people have signed up to a group on the chat app Telegram called “IT Army of Ukraine”, through which participants are assigned tasks designed to take the fight to Vladimir Putin. In so doing, they are trying to level the playing field between one of the world’s **(so-called)** superpowers and Ukraine as it faces bombardment and invasion.

[‘It’s the right thing to do’: the 300,000 volunteer hackers coming together to fight Russia](https://www.theguardian.com/world/2022/mar/15/volunteer-hackers-fight-russia)

Anonymous continue their efforts.

[Anonymous releases 364,000 files about Russia's censorship of invasion](https://www.upi.com/Top_News/World-News/2022/03/11/ukraine-anonymous-hackers-cyber-attack-censorship/9671647008213/)

[Anonymous Claims to Have Hacked Into Russian CCTV with a Deadly Serious Message About Putin](https://uproxx.com/viral/anonymous-russia-putin-kills/)

They also hit the German subsidiary of Russian energy giant Rosneft with a cyberattackRosneft withal Office for Information Security (BSI) says.

[Hackers target German branch of Russian oil giant Rosneft](https://www.macaubusiness.com/hackers-target-german-branch-of-russian-oil-giant-rosneft/)

The Verge notes “An anonymous source provided 79GB of emails to the leak site Distributed Denial of Secrets, with an unusual addendum.”

[Russian pipeline company Transneft hit by data leak dedicated to Hillary Clinton](https://www.theverge.com/2022/3/17/22983085/russia-transneft-omega-data-leak-hillary-clinton)

Fast Company reports on how “A group of techies-turned-hackers called the Cyber Partisans are targeting railways carrying Russian troops and exposing a brutal Belarusian regime.”

[How hackers in Belarus are complicating Putin’s Ukraine invasion](https://www.fastcompany.com/90730789/cyber-partisans-hacking-belarus-putin-ukraine-invasion)

Rest of World asks:

[In Ukraine’s cyber-war with Russia, who is a civilian, and what is a war crime?](https://restofworld.org/2022/in-ukraines-cyber-war-with-russia-who-is-a-civilian-and-what-is-a-war-crime/)

The Wall Street Journal notes “People around the world are using a new website to circumvent the 
Kremlin’s propaganda machine by sending individual messages about the war in Ukraine to random people in Russia.”

[Using a New Cyber Tool, Westerners Have Been Texting Russians About the War in Ukraine](https://www.wsj.com/articles/using-a-new-cyber-tool-westerners-have-been-texting-russians-about-the-war-in-ukraine-11647100803?curator=MediaREDEF)

The Guardian also notes “Experts say both sides may understand that large-scale cyber-attacks will result in ‘mutually assured destruction of systems’.”

[‘Catastrophic’ cyberwar between Ukraine and Russia hasn’t happened (yet), experts say](https://www.theguardian.com/technology/2022/mar/09/catastrophic-cyber-war-ukraine-russia-hasnt-happened-yet-experts-say?CMP=Share_iOSApp_Other)

### Cybersecurity

**I thought this would have been a no-brainer but:**

[Germany warns against using Kaspersky software citing 'considerable' cyber risk after Russia's invasion](https://techcrunch.com/2022/03/15/germany-kaspersky-risk-invasion/)

VentureBeat reports “Cloudflare unveiled a new tool in its suite of security offerings, the Cloudflare API Gateway, which seeks to simplify the protection of increasingly prevalent application programming interfaces (APIs). The solution also aims to feature a significantly lower price point than many of the other API security products now on the market, which could go a long way toward “democratizing” API security for the market.

[Cloudflare aims to boost API security with a new gateway](https://venturebeat.com/2022/03/16/cloudflare-aims-to-boost-api-security-with-new-gateway/)

On the Public API Network, Postman gathers some of the best APIs to ramp up productivity including Notion (just released to GA!), Peruse Code, and Machine Learning Tools for Developer Professionals.

[Build Software Faster with These Productivity APIs](https://www.postman.com/explore)

This was from a while back but is worth another look. Via Github:

[The Open Source Software Security Summit: securing the world’s code together](https://github.blog/2022-01-13-open-source-software-security-summit-securing-the-worlds-code-together/)

C.S. Rhymes says, “GitHub offers a dependabot service that can let you know of any potential security issues with your dependencies and automatically create a Pull Request for you. This works great without any configuration if you have a repo that contains npm, composer, or gem dependencies, but you may need additional configuration if your lock files aren’t in the root directory, or in separate directories in the case of a monorepo.”

[Using GitHub Dependabot with a Monorepo](https://www.csrhymes.com/2022/03/03/using-github-dependabot-with-a-monorepo.html)

GitHub also has a video exploring “ some of the shortcomings of legacy application security solutions, and share a developer-first approach that can help your organization overcome challenges with an end-to-end security process and improved collaboration.”

[Developer-first security: The next step for AppSec](https://www.youtube.com/watch?v=vISpwHKL698)

If you are having trouble getting cybersecurity buy-in with your CEO or CFO, share this with them. Plus, it’s a good review for anyone.

[Cybersecurity: What Every CEO and CFO Should Know](https://ckpbs04.na1.hubspotlinks.com/Ctc/R+113/ckPbs04/VWCk8S6X96fhW7VDSbG7JFxxmW2jjqKJ4GMXrcN2VVBBV3q90JV1-WJV7CgTVrW93LgSQ4hRZvZW7bgQvV3XPL7PW3cw-LT30LlrGW6qwqYB1hXrz3N2FHdH0JV8WMW9fHKWS6D8BRRW6HCjTZ18Md7FW8Z2Dq26HsRp_W4pSgpm64hHZWW8-BbL_79S19XW5hnRBs3qBSwDW2F_cG94LYJhqW2079Kf2r_2qFW8gDVW34fBJxQW3PG2zr1_c6_mW4YLrP26Bnk25W6CfppF8p11CGW8y842-5X-bCYMBdNtwBcJJhVNPMg33YVHVCW4tJdk83kbLrnW6450Fn5ty39yW6jtR3C7mRcgCW2qQRxp8kbjL-W5hbzRf2QMWpwW1phsQg37P6t-W6VXMDL1V4_8SVBCGyv4S3jRX35gz1)

### More

Core DNA writes “We take a close look at the evolution of the CMS platform, specifically, how the management of content has changed and how platforms have been designed to cater for the changing browsers, new channels, and client needs.”

[Custom CMS & Backend Frameworks Be Damned](https://dev.to/coredna/custom-cms-backend-frameworks-be-damned-41e6)

Postman asks us to “Explore the World of APIs. Browse the largest network of APIs, workspaces, and collections by developers across the planet.”

[Postman API Network](https://www.postman.com/explore)

Ben Gurney shares an effective way to approach improving the web accessibility of your apps.

[My secret to better web accessibility](https://webhappens.co.uk/articles/my-secret-to-better-web-accessibility)

Chris Saxon notes “We all know that many modern apps rely on REST APIs to talk to other services, especially in the cloud. We all know those APIs usually send and receive data using a recent innovation: JavaScript Object Notation (JSON) documents. And we know there are a lot of methods for storing, managing and sharing these documents in your applications.

What many people don’t know is that the best way to manage JSON is with a seemingly ancient tool: the SQL language. Let’s look at why that is and five examples of how to do it.”

[Why (and How) You Should Manage JSON with SQL](https://thenewstack.io/why-and-how-you-should-manage-json-with-sql/)

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

Do you own or work for an organization that would be interested in our promotion opportunities? If so, [please contact us](https://www.symfonystation.com/Contact). We’re in our infancy so it’s extra economical. ;)

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

Keep going Symfonistas!

## Author

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

### Reuben Walker

Founder
Symfony Station