Symfony Station Communiqué - 15 April 2022. A look at Symfony and PHP news!
Tags: symfony, php, drupal, cybersecurity
Published: 2022-04-15 13:49:58

[This article originally appeared on Symfony Station](https://www.symfonystation.com/Symfony-Station-Communique-15-April-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 most essential news in the Symfony and PHP development communities.

Again, we also cover the tech aspects of the war crimes going on in Ukraine and how you can help. 

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

Thanks to Javier Eguiluz and Symfony for sharing [our last communiqué](https://www.symfonystation.com/Symfony-Station-Communique-8-April-2022) in [their Week of Symfony](https://symfony.com/blog/a-week-of-symfony-797-4-10-april-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 celebrated the SymfonyLive Paris 2022 conference, one of the first official non-virtual Symfony conferences since the COVID-19 pandemic started. The next opportunity to meet the community in person will be the SymfonyCon Disneyland Paris 2022 conference on November 17-18, 2022. Meanwhile, we started publishing the New in Symfony 6.1 blog posts in preparation for its upcoming release.”

[A Week of Symfony #797 (4-10 April 2022)](https://symfony.com/blog/a-week-of-symfony-797-4-10-april-2022)
 
Javier Eguiluz previews upcoming features of the 6.1 update.

[New in Symfony 6.1: Improved ExpressionLanguage Syntax](https://symfony.com/blog/new-in-symfony-6-1-improved-expressionlanguage-syntax)

[New in Symfony 6.1: Locale Switcher](https://symfony.com/blog/new-in-symfony-6-1-locale-switcher)

This is self-explanatory.

[Symfony 6.1.0-BETA1 released](https://symfony.com/blog/symfony-6-1-0-beta1-released)

They also announced:

[First selected speakers announced at SymfonyWorld Online 2022 Summer Edition](https://symfony.com/blog/first-selected-speakers-announced-at-symfonyworld-online-2022-summer-edition)
 
SymfonyCasts continues their free look at Symfony 6 and Easy Admin paid courses.

[This week on SymfonyCasts](https://5hy9x.r.ag.d.sendibm3.com/mk/mr/um9U6aqDFSMr8ys_88n1R2VUD3E9YILVdmXXGF1PfnaHXmCWOkYwEeZVLnKp5IrAQwMPSLL28cwN1XlYHUATM8VzupM1V8_W_eKmsVzeal3hHhfFudGLdcxUwXlG_bksT6QKZyQMIA)
 
Platform. sh announced:

[Platform.sh Renews Partnership with Adobe to Power the Future of Commerce](https://platform.sh/company/press/2022/platformsh-renews-partnership-with-adobe-commerce/)
 
## 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)

Our featured article this week proves we aren’t always serious. But we are usually mad.

Please reply with a link to this article every time you see a “PHP is dying” post from some idiot.

###[PHP Is Not “Dying” You Clickbait Wankers!](https://medium.com/codex/php-is-not-dying-you-clickbait-wankers-52aff2c46e6f)

### This Week

We have a new article here at Symfony Station. Check out:

[Exploring the PHP Frameworks using Symfony Components](https://www.symfonystation.com/PHP-Platforms-Symfony)

JoliCode has a review of SymfonyLive Paris 2022.

[SymfonyLive Paris 2022 – En chair et en os](https://jolicode.com/blog/symfonylive-paris-2022-en-chair-et-en-os)

Demianchuk Sergii writes, “welcome to the 3rd article devoted to the theme: “How to work with ElasticSearch using Symfony PHP framework”. Previous article (Part 2: Symfony ElasticSearch and docker environment) is located [here](https://sergiiblog.com/symfony-elasticsearch-and-docker-environment/). Here we will start to investigate the Symfony skeleton project. But at first it would be great to refresh in our mind the architecture scheme from the [Part 1: Symfony ElasticSearch](https://sergiiblog.com/symfony-elasticsearch/).

[Symfony ElasticSearch, Front Controller, API documentation](https://medium.com/@demianchuk.sergii/symfony-elasticsearch-front-controller-api-documentation-e452a58511a4)

Eelco Verbrugge is back to review.

[Symfony Unit Testing](https://dev.to/eelcoverbrugge/symfony-unit-testing-5ek5)

Prestashop features a key member of their team in this article.

[Merchant, freelance developer, and top contributor: Daniel Hlaváček’s experience with the PrestaShop project](https://build.prestashop.com/news/contributor-interview-daniel-hlavacek/)

Zoya Scoot has this Magento writeup.

[Magento Open Source 2.4.4: Release Notes (Everything You Need to Know)](https://dev.to/zoyascoot/magento-open-source-244-release-notes-everything-you-need-to-know-379e)

Kévin Dunglas says, “At SymfonyLive Paris, I introduced a new PHP library to build Solid applications: [Solid Client PHP](https://github.com/dunglas/solid-client-php). In this presentation, I review the Solid protocol and how it could give back the control of personal data to end-users.”

[Building Decentralized Web Apps with Solid and PHP](https://dunglas.fr/2022/04/building-decentralized-web-apps-with-solid-and-php/)

Matt Glaman advises:

[Avoid using `loadByProperties` to load Drupal entities](https://mglaman.dev/blog/avoid-using-loadbyproperties-load-entities)

Altudo opines, “The competitive advantage that Drupal has over other Content Management Systems is being an open-source CMS. It is economical to implement, easy to maintain and secure to use. It is a platform that excels in delivering the right content to the right people at the right time.”

[Drupal - The Best Open Source CMS With Significant Features](https://www.altudo.co/resources/blogs/5-reasons-why-drupal-is-the-best-cms)

J Rockowitz writes, “Every few years, organizations have to rework their digital strategy starting with establishing a web presence, adopting a CMS, sharing content, building a responsive mobile website, creating personalized user experiences, and authoring voice-friendly content. This list won’t stop there. Headless CMSs are not a trend - they are a major shift in how organizations create and manage their content to make it easier to future-proof an organization's digital strategy for their next digital challenge.”

[The future of our Drupal CMS and Schema.org: APIs, UI, and UX](https://www.jrockowitz.com/blog/drupal-schema-api-ui-ux)

![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

Wooter Carabain helps us write clean code.

[Clean code in PHP: 5 tips to help you!](https://woutercarabain.com/webdevelopment/clean-code-in-php-5-tips-to-help-you/)

Security Lit Limited notes, “In this blog article we shall be covering vulnerabilities that you could experience while dealing with PHP applications. Some vulnerabilities are particular to PHP, whereas the others are universal.”

[Vulnerabilities in PHP Based Applications](https://infosecwriteups.com/vulnerabilities-in-php-based-applications-fb6224865d43)

Kpicaza writes, “As promised in our previous post [about Async PHP](https://uvinum.engineering/how-we-are-adding-async-php-to-our-stack-3bb7c2192cb), we already have the project running in production for some sections of our applications. The search middleware has good enough performance using Symfony MicroKernel + Road Runner as a server.

This time, we want to explain how to manage a strict development continuous integration pipeline in PHP. That means respecting the best practices and standards of the PHP language.”

[Strict Development CI for PHP](https://uvinum.engineering/strict-development-ci-for-php-20d2262c95f7)

Grant Horwood notes, “there's not a tremendous amount of documentation on writing command line scripts in PHP, and if you're looking to build an interactive script that leverages your existing code, the process can be frustrating. This series of posts is designed to cover the basic constructs we will need to write effective interactive scripts in PHP.”

[Writing command line scripts in PHP: part 3; interactive input](https://dev.to/gbhorwood/writing-command-line-scripts-in-php-part-3-interactive-input-34)

Doeke Norg says, “Sometimes it can be useful to use a callback function or other `callable` to prevent a bunch of code duplication.

Let's say you have an event subscriber that encrypts and decrypts data in the life cycle of an entity. When the entity is stored, some data will be encrypted; and when the entity is loaded, the data will be decrypted.”

[Quick tip: Using callbacks to prevent code duplication](https://doeken.org/tip/using-callbacks-to-prevent-code-duplication)

genie-oh writes, “in this article, we use Closure (same to Anonymous Function) to reduce the overhead of debug logging with contextual data. Anonymous Function is useful in various cases and languages.”

[[PHP] try to reduce overhead of debug logging using Closure(same to anonymous function)](https://dev.to/genie_oh/php-try-to-reduce-overhead-of-debug-log-using-closuresame-to-anonymous-function-3ad4)

Jordi Bassaganas says:

[PHP Became Strongly-Typed](https://medium.com/codex/php-became-strongly-typed-66f2b2ae917)

Lucas Pereyra has:

[A quick performance optimization example using PHP generators](https://medium.com/@lukaspereyra8/a-quick-performance-optimization-example-using-php-generators-9e71aac810e0)

He also notes, “A couple of days ago, ... I started to struggle with a *docker compose build*
 problem when attempting to install my PHP dependencies using Composer, inside of the Dockerfile’s container building steps (these are the steps executed when you run a *dockercompose build*). 

I decided to share with you this issue and a couple of workarounds you can apply when facing it, with a simple yet practical example.”

[Docker Compose, PHP & Composer: the missing “vendors” folder issue](https://medium.com/@lukaspereyra8/docker-compose-php-composer-the-missing-vendors-folder-issue-66faa5475c59)

Lena Charles shows us how to:

[How to Hire the Best PHP Developers](https://lenac1884.medium.com/how-to-hire-the-best-php-developers-74ad0627be53)

And Antonello Zanini show us how to build a PHP script to validate and verify emails.

[Email Syntax Validation and Existence Verification in PHP](https://betterprogramming.pub/email-syntax-validation-and-existence-verification-in-php-5f7fdad768dd)

Laravel News shares the details on a newly free PHP book.

[BaseCode: A Field Guide to Writing More Readable Code](https://laravel-news.com/basecode-a-field-guide-to-writing-more-readable-code)

A new version of the PhpStorm IDE is out.

[What’s New in PhpStorm 2022.1](https://www.jetbrains.com/phpstorm/whatsnew/2022-1/)

### Last Month

PHP Sandbox reached their 10,000th user.

[10k users: The Journey](https://blog.phpsandbox.io/10k-users-the-journey)

### Timeless

Shawn McCool says, “When we create a class, we give it a name. What does this name represent?

Classes are boundaries. On the outside is the rest of the entire world. On the inside is some combination of data and behavior.

What goes inside a class and what stays outside? In order to determine what is contained within a class, we reference its design paradigm.”

[Adding Real Capabilities To Systems Through Naming](https://shawnmc.cool/2022-01-31_adding-real-capabilities-to-systems-through-naming)

PHP Delusions writes, “During a decade of active participation on Stack Overflow I was able to determine a set of reasons that lead to the most frequent questions on Q&A sites. It turned out that most questions are caused by not following a rather limited set of basic principles.

These principles, although being universal, are almost as universally *ignored* or even *violated* in virtually every PHP tutorial out there. And I would say it's one of the biggest problems of PHP community.”

[The most important basic principles of web programming](https://phpdelusions.net/basic_principles_of_web_programming)

![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 Atlantic opines, “Americans need to cure what ails our democracy, ridding ourselves of our incipient Russification. ... I worry that we’ll soon forget about Ukraine. It’s far away, and Americans have famously short attention spans.”

[I Worry We’ll Soon Forget About Ukraine](https://www.theatlantic.com/ideas/archive/2022/04/ukraine-america-democracy-russification/629521/)

**We sure as fuck won’t forget Ukraine.**

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

Wired reports:

[How Russia's Invasion Triggered a US Crackdown on Its Hackers](https://www.wired.com/story/russia-ukraine-us-hacker-counterattack/)

They also have:

[Russia Is Leaking Data Like a Sieve](https://www.wired.co.uk/article/russia-ukraine-data)

TechCrunch reports:

[Microsoft seizes domains used by Russian spies to target Ukraine](https://techcrunch.com/2022/04/08/microsoft-seizes-domains-russia-fancy-bear/)

Bleeping Computer writes, “A hacking group used the Conti's leaked ransomware source code to create their own ransomware to use in cyberattacks against Russian organizations.

While it is common to hear of ransomware attacks targeting companies and encrypting data, we rarely hear about Russian organizations getting attacked similarly.

[Hackers use Conti's leaked ransomware to attack Russian companies](https://www.bleepingcomputer.com/news/security/hackers-use-contis-leaked-ransomware-to-attack-russian-companies/)

### The Evil Empire Strikes Back

MIT Technology Review reports:

[Russian hackers tried to bring down Ukraine’s power grid to help the invasion](https://www.technologyreview.com/2022/04/12/1049586/russian-hackers-tried-to-bring-down-ukraines-power-grid-to-help-the-invasion/)

TechCrunch also reports that  “U.S. government agencies are warning that state-backed hackers have developed custom malware that enables them to compromise and hijack commonly used industrial control system (ICS) devices.”

[US warns of state-backed malware designed to hijack critical infrastructure systems](https://techcrunch.com/2022/04/14/us-warns-of-state-backed-malware-designed-to-hijack-critical-infrastructure-systems/)

### Cybersecurity

TechCrunch also says:

[The US needs a tech doctrine](https://techcrunch.com/2022/04/10/the-us-needs-a-tech-doctrine/)

**This should apply to any democracy.**

ZD Net reports that “Microsoft takes control of ZLoader's botnet infrastructure, which is used to spread malware and ransomware.”

[Microsoft: We've just disrupted this ransomware-spreading botnet](https://www.zdnet.com/article/microsoft-weve-just-disrupted-this-ransomware-spreading-botnet/)

### More

Did you know if you’re a paid member of Medium you have access to these resources?

[Directory of Books from The Pragmatic Programmers on Medium](https://medium.com/pragmatic-programmers/directory-of-pragmatic-programmer-books-on-medium-6a5cbadbd4b4)

[PragPub on Medium](https://medium.com/pragmatic-programmers/pragpub-on-medium-4e78d62f5c2e)

Khalil Stemmler asks:

[Is DDD Overrated?](https://khalilstemmler.com/blogs/domain-driven-design/is-ddd-overrated/)

Laravel News reports on a:

[Style Guide Generator for Tailwind CSS](https://laravel-news.com/style-guide-generator-for-tailwind-css)

ZDNet also writes:

[Sorry, developers: Microsoft's new tool fixes the bugs in software code written by AI](https://www.zdnet.com/article/sorry-developers-microsofts-new-tool-fixes-the-bugs-in-software-code-written-by-ai/)

And to the applause of JS Geeks everywhere,

[Microsoft launches TypeScript 4.7 Beta](https://analyticsindiamag.com/microsoft-launches-typescript-4-7-beta/)

Kinsta asks and answers:

[What Is PostgreSQL?](https://kinsta.com/knowledgebase/what-is-postgresql/)

Joshua Otwell has this helpful article.

[Multi-level Aggregation Using MySQL GROUP BY WITH ROLLUP](https://openlamptech.substack.com/p/multi-level-aggregation-using-mysql)

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

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