Symfony Station Communiqué — 27 January 2023. A look at Symfony, Drupal, PHP, and Cybersecurity news!
Tags: symfony, drupal, php, cybersecurity
Published: 2023-01-30 17:20:10

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

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

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

As always, thanks to Javier Eguiluz and Symfony for sharing [our latest communiqué](https://www.symfonystation.com/Symfony-Station-Communique-20-January-2023) in their [Week of Symfony](https://symfony.com/blog/a-week-of-symfony-838-16-22-january-2023).

And thanks to [OpenLAMPTech](https://openlamptech.substack.com/p/openlamptech-issue-63) for sharing our article, [2023’s Challenging yet Achievable(?) New Tech Goals for my Symfony-based Sites](https://www.symfonystation.com/2023-Tech-Goals-Sites).

**My opinions will be in bold.**

---

Many of the items we curate are on Medium. I recommend investing in a membership, as you can access everything you want to read. It’s a small investment in boosting your career. As you may have noticed, non-members can only access a limited number of articles per month.

**[Become a member here](https://medium.com/@mobileatom/membership)**! The compensation we receive from your use of this link helps pay for our weekly communiqué.

---

![Symfony logo](https://www.symfonystation.com/sites/default/files/inline-images/Symfony-2.png)

## Symfony

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

Highlight -> “This week, the upcoming Symfony 6.3 version added some improvements to the Clock component, marked some parameters as sensitive, and updated the Profiler to display date/times in the local timezone of the developer. Meanwhile, SymfonyCasts announced a new course about API Platform 3. Finally, we welcomed bitExpert, SensioLabs, SymfonyCasts, and Shopware as new backers of the Symfony backers program.“

[A Week of Symfony #838 (16-22 January 2023)](https://symfony.com/blog/a-week-of-symfony-838-16-22-january-2023?utm_source=Symfony+Blog+Feed&utm_medium=feed)

Symfony announced:

[SymfonyLive Paris 2023 - SQLite in production? How about re-evaluating your options?](https://symfony.com/blog/symfonylive-paris-2023-sqlite-in-production-how-about-re-evaluating-your-options)

[SymfonyLive Paris 2023 - Juggling asynchronously with Symfony HttpClient](https://symfony.com/blog/symfonylive-paris-2023-juggling-asynchronously-with-symfony-httpclient)

SymfonyCasts a new API Platform 3 course. 

[This week on SymfonyCasts](https://5hy9x.r.ag.d.sendibm3.com/mk/mr/l_tEp83TBeLxpg9UAAqSCgQh3q20Ukj746se_i_qzqhaHrDnwnn3NI-6WgOxXUX0Yhzd6rldG1RXLmPWJjXOBA-gHUs1IC7DjOebLo7jbs68QZ8wLLYMvxw5ky1KEQcWySvu7ErAPJw)

And their Netgen Layouts course is complete. It’s also a rare free one, so check it out.

[Netgen Layouts: Building Pages with Symfony Video Tutorial Screencast](https://symfonycasts.com/screencast/netgen-layouts)

---

## Featured Item

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

Sometimes old posts turn out to be prophetic. Like this one from the Knight First Amendment Institute at Columbia University in 2019. It’s a long one aimed at Master’s Degree toting, pointy-head intellectuals like me, so here’s a summary if you are short on time.

“Over the last half-century of networked computing, a pendulum has been swinging between client-side and server-side computing. We went from mainframes and dumb terminals to powerful desktop computers to web apps and the cloud. Perhaps we will start to see a similar pendulum in this arena as well. We’ve gone from a world in which protocols dominated to one in which centralized platforms controlled all. Moving us back toward a world where protocols are dominant over platforms could be of tremendous benefit to free speech and innovation online.

Such a move has the potential to return us to the early promise of the web: to create a place where like-minded people can connect on various topics around the globe, and anyone can discover useful information on a variety of different subjects without it being polluted by abuse and disinformation. Simultaneously, it could enable greater competition and innovation on the internet, while also giving end users more control over their own data and preventing giant corporations from having too much data on any particular user.

Moving to protocols, not platforms, is an approach for free speech in the twenty-first century. Rather than relying on a “marketplace of ideas” within an individual platform—which can be hijacked by those with malicious intent—protocols could lead to a marketplace of ideals, where competition occurs to provide better services that minimize the impact of those with malicious intent, without cutting off their ability to speak entirely.

It would represent a radical change, but one that should be looked at seriously.”

### **[Protocols, Not Platforms: A Technological Approach to Free Speech](https://knightcolumbia.org/content/protocols-not-platforms-a-technological-approach-to-free-speech)**

---

### This Week

Jolicode shows us:

[How TaggedLocator Can Help You Design Better Symfony Application](https://jolicode.com/blog/how-taggedlocator-can-help-you-design-better-symfony-application)

[How to build a OR condition in Elasticsearch Query DSL](https://jolicode.com/blog/how-to-build-a-or-condition-in-elasticsearch-query-dsl)

Antoine Bluchet explores the new:

[API Platform 3.1](https://soyuka.me/api-platform-3.1-whats-new/)

Nico Anastasio shows us:

[10 Commands to Add a Database to Symfony](https://faun.pub/10-commands-to-add-a-database-to-symfony-b4e3cdfa5fd2)

bitExpert is:

[Sponsoring Symfony 6.2 development](https://blog.bitexpert.de/blog/symfony_6_2_sponsoring)

Yusuf Biberoğlu looks at:

[Flutter with a PHP Symfony Backend](https://yusufbiberoglu.medium.com/flutter-symfony-backend-php-a26d89bee24e)

**If you are building a multi-OS app, Flutter is the way to go.**

### eCommerce

Fiko Borizqy shares:

[Magento 2: How to Create Unit Testing?](https://fiko.me/magento-2-how-to-create-unit-testing)

Centarro explores:

[Custom Order Number Patterns in Drupal Commerce](https://www.centarro.io/blog/custom-order-number-patterns-drupal-commerce)

### CMSs

The Drupal Association shares:

[Drupal Association January Newsletter 2023](https://mailchi.mp/drupalassociation/monthly-newsletter-january-2023?e=2fcfe28a68)

Prometsource asks:

[Are You Suffering from Drupal Upgrade Fatigue?](https://www.prometsource.com/blog/Drupal-10-upgrade-fatigue)

Golems examines the:

[Layout builder toolset. Must have contrib modules for better layout control](https://gole.ms/blog/layout-builder-toolset-must-have-contrib-modules-better-layout-control)

**I love Layout Builder so I will be checking this out.**

Specbee explores:

[How to create and apply a patch with Git Diff and Git Apply commands for your Drupal website](https://www.specbee.com/blogs/how-create-and-apply-patch-git-diff-and-git-apply-commands-your-drupal-website)

Martin R shows us:

[How to create Drupal Queue Workers](https://medium.com/@lorique/how-to-create-drupal-queue-workers-dceaea7cc341)

Ixis shares:

[5 Top Tips for Securing Your Drupal Website](https://ixis.co.uk/blog/5-top-tips-securing-your-drupal-website)

Peoples Blog shows us how to:

[Secure your Drupal Application's Reset Password flow](https://peoplesblog.co.in/articles/secure-your-applications-reset-password-flow.html)

And do:

[Multisite Local environment setup with DDEV and Drupal](https://peoplesblog.co.in/articles/multisite-local-environment-setup-with-ddev-and-drupal.html)

Greg Boggs wants you to:

[Unleash the Power of Drupal 9 Routing: Create Custom Routes with Page Callbacks & Debug Like a Pro](https://www.gregboggs.com/debugging-routing-page-callbacks-drupal10/)

Matt Glaman examines:

[Leveraging the list cache tag for entity types](https://mglaman.dev/blog/leveraging-list-cache-tag-entity-types)

If you are lucky enough to have the budget for Acquia for your Drupal projects:

[Acquia Updates Code Studio, the Full Stack Drupal DevOps Platform](https://www.acquia.com/newsroom/press-releases/acquia-updates-code-studio)

hashbangcode looks at:

[Drupal 10: Creating Custom Context Providers](https://www.hashbangcode.com/article/drupal-10-creating-custom-context-providers)

### Previous Weeks

And:

[Drupal 10: Using Context Definitions To Create Context-Aware Plugins](https://www.hashbangcode.com/article/drupal-10-using-context-definitions-create-context-aware-plugins)

Platformsh wants you to:

[Power-up your local development with DDEV](https://platform.sh/blog/powerup-your-local-development-with-ddev/)

Christian Córdoba shows us:

[Cómo ejecutar tu aplicación Symfony con FrankenPHP 🐘 +🧟](https://www.acceseo.com/como-ejecutar-aplicacion-symfony-frankenphp.html)

**Love the emojis.**

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

## PHP

### This Week

PeakD explores:

[Mastobot: For your Fediverse PHP posting needs](https://peakd.com/hive-168588/@crell/mastobot-for-your-fediverse-php-posting-needs)

Kinsta has:

[Node.js vs PHP: A Head-to-Head Comparison](https://dev.to/kinsta/nodejs-vs-php-a-head-to-head-comparison-3235)

**Node.js brings back bad memories of coding bootcamp, but this is a fair comparison.**

Ismail Tasdelen demonstrates:

[Secure PHP Application Development](https://ismailtasdelen.medium.com/secure-php-application-development-bb1981d9d426)

Matus Stafura examines:

[Selection Sort in PHP](https://dev.to/matusstafura/selection-sort-in-php-78o)

Nacho Colomina shares a:

[Simple example of using PHP 8.1 enums](https://medium.com/@ict80/simple-example-of-using-php-8-1-enums-ba991fa9d60c)

.com says:

[Stop Caching Relations Inside Your Models in PHP](https://medium.com/@dotcom.software/stop-caching-relations-inside-your-models-in-php-2bf5a947c690)

Nikola Stojiljkovic continues his series:

[[PHP Guidelines series] Introduction and Factory Method Design Pattern](https://nikola-stojiljkovic.medium.com/php-guidelines-series-introduction-and-factory-method-design-pattern-1195bfc144b2)

[[PHP Guidelines series] Final classes as a warning sign](https://dev.to/nikolastojilj12/php-guidelines-series-final-classes-as-a-warning-sign-9n9)

[[PHP Guidelines series] Abstract Factory design pattern - and why it's bad](https://dev.to/nikolastojilj12/php-guidelines-series-abstract-factory-design-pattern-and-why-its-bad-gbb)

[[PHP Guidelines series] Adapter design pattern + a dangerous workaround to implement Class Adapter](https://dev.to/nikolastojilj12/php-guidelines-series-adapter-design-pattern-a-dangerous-workaround-to-implement-class-adapter-26g5)

Sakis Ball starts a new series:

[Universally Bad Programming Practices (and their alternatives) pt.1](https://dev.to/thanasismpalatsoukas/universally-bad-programming-practises-and-their-alternatives-pt1-5ck7)

Andrei Birta looks at:

[Managing Cookies in PHP](https://medium.com/@andreibirta95/managing-cookies-in-php-ea99ee8e567d)

[Exploring Code Reuse with Traits in PHP](https://medium.com/@andreibirta95/exploring-code-reuse-with-traits-in-php-918a0d2eac24)

[Understanding and Utilizing Abstract Classes in PHP](https://medium.com/@andreibirta95/understanding-and-utilizing-abstract-classes-in-php-7eeeeeabc444)

WilliamP continues his series:

[30 Days of Automated Testing：Using PHPUnit【D07】](https://medium.com/@woeichern/30-days-of-automated-testing-using-phpunit-d07-c92042008bb)

[30 Days of Automated Testing：Using PHPUnit【D08】](https://medium.com/@woeichern/30-days-of-automated-testing-using-phpunit-d08-183801255045)

[30 Days of Automated Testing：Using PHPUnit【D09】](https://medium.com/@woeichern/30-days-of-automated-testing-using-phpunit-d09-91ac43ffa440?source=user_profile---------4----------------------------)

[30 Days of Automated Testing：Using PHPUnit【D10】](https://medium.com/@woeichern/30-days-of-automated-testing-using-phpunit-d10-e722e5144e23?source=user_profile---------3----------------------------)

[30 Days of Automated Testing：Using PHPUnit【D11】](https://medium.com/@woeichern/30-days-of-automated-testing-using-phpunit-d11-db8c1ac6ac6b)

[30 Days of Automated Testing：Using PHPUnit【D12】](https://medium.com/@woeichern/30-days-of-automated-testing-using-phpunit-d12-3e79e22ef311?source=user_profile---------1----------------------------)

[30 Days of Automated Testing：Using PHPUnit【D13】](https://medium.com/@woeichern/30-days-of-automated-testing-using-phpunit-d13-1df9c9b103d1?source=user_profile---------0----------------------------)

Claudio Ribeiro has a:

[Quick Tip: How to Manage Error Reporting in PHP](https://www.sitepoint.com/php-error-reporting/)

Saravana Sai explores:

[Interfaces and Polymorphism in PHP - Practical Guide](https://dev.to/saravanasai/interfaces-and-polymorphism-in-php-practical-guide-pfc)

Rafael Bernard Araújo has:

[A bref AWS PHP history – Part 1](https://dev.to/rafaelbernard/a-bref-aws-php-history-part-1-2agn)

Andreas Heigl shows us why:

[composer 🧡 phar](https://andreas.heigl.org/2023/01/26/use-phars-along-with-composer/)

Oluwabamidele Ayanda continues their series:

[Docker Compose: Deploy a Containerized Application](https://dev.to/oayanda/docker-compose-deploy-a-containerized-php-application-52ll)

### Previous Weeks

Camilo Herrera shows us how to:

[Create a Basic PHP API with Token Authentication](https://medium.com/winkhosting/create-a-basic-php-api-with-token-authentication-96111eada51)

![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 and other douchebaggery

Peter Hartcher reports on:

[The software giant warning Ukraine where Russia plans to strike](https://www.smh.com.au/world/europe/the-software-giant-warning-ukraine-where-russia-plans-to-strike-20230122-p5cejx.html)

The Guardian reports:

[‘I want to live’: the Ukraine hotline encouraging Russians to surrender](https://www.theguardian.com/world/2023/jan/26/ukraine-hotline-encouraging-russians-to-surrender)

Bloomberg reports:

[US Targets Chinese Company in Broader Russia Sanctions Push](https://www.bloomberg.com/news/articles/2023-01-26/us-targets-chinese-company-in-broader-russia-sanctions-push)

TechCrunch reports:

[US announces it seized Hive ransomware gang’s leak sites and decryption keys](https://techcrunch.com/2023/01/26/united-states-hive-ransomware-seized/)

The Hacker News reports:

[Google Takes Down 50,000 Instances of Pro-Chinese DRAGONBRIDGE Influence Operation](https://thehackernews.com/2023/01/google-takes-down-50000-instances-of.html)

TechCrunch reports:

[Elon Musk’s Twitter hit with holocaust denial hate speech lawsuit in Germany](https://techcrunch.com/2023/01/25/elon-musk-twitter-antisemitic-hate-speech-lawsuit-germany/)

**I hate to say it but if you are still active on Twitter for anything other than a job requirement you are enabling this horseshit.**

### The Evil Empire Strikes Back

And:

[North Korean Hackers Turn to Credential Harvesting in Latest Wave of Cyberattacks](https://thehackernews.com/2023/01/north-korean-hackers-turn-to-credential.html)

Euronews reports:

[Russian hackers launch cyberattack on Germany in Leopard retaliation](https://www.euronews.com/2023/01/26/russian-hackers-launch-cyberattack-on-germany-in-leopard-retaliation)

**I got a hunch the tanks are going to be more effective than the hackers.** 💀 🇷🇺

Forbes reports:

[Russian And Iranian Hackers Targeting Politicians and Journalists](https://www.forbes.com/sites/emmawoollacott/2023/01/26/russian-and-iranian-hackers-targeting-politicians-and-journalists/)

The Guardian reports:

[Russia outlaws Meduza in attempt to stamp out independent news](https://www.theguardian.com/media/2023/jan/26/russia-outlaws-meduza-in-attempt-to-stamp-out-independent-news)

9to5Mac reports:

[Pegasus spyware defended by NSO's CEO, as researcher compares it to a nuclear weapon](https://9to5mac.com/2023/01/26/pegasus-spyware/)

Decipher reports:

[North Korean Attackers TA444 Shift Tactics](https://apple.news/AetWar9gUS56elogbwaZzoQ)

### Cybersecurity/Privacy

And:

[Attacker Stole GoTo Customer Backups and Encryption Key](https://apple.news/Arpgyh1z4TCml1Fd6EcpwTQ)

TechCrunch reports:

[A hack at ODIN Intelligence exposes a huge trove of police raid files](https://techcrunch.com/2023/01/21/odin-intelligence-breach-police-surveillance/?guccounter=1)

The NewStack shows us:

[How to Get Started Filling 3.4 Million Cybersecurity Jobs](https://thenewstack.io/how-to-get-started-filling-3-4-million-cybersecurity-jobs/)

PCMag reports:

[Good News, Bad News for Security Researchers: Feds Are Less Likely to Charge You, States Are Another Thing](https://www.pcmag.com/news/good-news-bad-news-for-security-researchers-feds-are-less-likely-to-charge)

### More

Kinsta looks at:

[Cloud Computing Trends (What's Hot for 2023 — And Beyond)](https://kinsta.com/blog/cloud-computing-trends/)

Tomasz Dobrowolski shares:

[5 Steps to Resolving Any Bug as a Software Engineer](https://tomdob1.medium.com/5-steps-to-resolving-any-bug-as-a-software-engineer-9a8597098115)

Jacob Stopak shows us:

[How to Visualize Confusing Git Commands with Git-Sim](https://www.freecodecamp.org/news/git-sim/)

**This is helpful for Git-challenged peeps like me.**

WASMLabs shares:

[WebAssembly: Docker without containers!](https://wasmlabs.dev/articles/docker-without-containers/)

Jason Knight looks at:

[HTTP Parallelism, Push, “Preload”, And Why Markup Bloat is The Enemy](https://medium.com/codex/http-parallelism-push-preload-and-why-markup-bloat-is-the-enemy-ec043ed0733e)

Postman says:

[Don’t Panic: A Developer’s Guide to Building Secure GraphQL APIs](https://blog.postman.com/how-to-build-secure-graphql-apis/)

Scott O’Hara wants you to:

[Use the dialog element (reasonably)](https://www.scottohara.me/blog/2023/01/26/use-the-dialog-element.html)

SmashingMag shows you how to:

[Level Up Your CSS Skills With the :has() Selector](https://www.smashingmagazine.com/2023/01/level-up-css-skills-has-selector/)

[Creating A High-Contrast Design System with CSS Custom Properties](https://www.smashingmagazine.com/2023/01/creating-high-contrast-design-system-css-custom-properties/)

Tanner Barcelos explores:

[Learning Svelte - Part 1: Why Svelte?](https://blog.tannerbarcelos.com/learning-svelte-part-1)

**As you know, it’s our opinion if that you have to use a frontend JavaScript framework you should use Svelte.**

Jangwook Kim explores:

[5 Common Mistakes to Avoid When Building Svelte Applications](https://kim-jangwook.medium.com/5-common-mistakes-to-avoid-when-building-svelte-applications-c084a80590f3)

PCMag says:

[RIP Third-Party Twitter Clients](https://www.pcmag.com/opinions/rip-third-party-twitter-clients)

**Tweetbot was one of the 3rd party clients fucked over by Space Karen. They pivoted to Mastodon.**

[Ivory for Mastodon Review: Tapbots Reborn](https://www.macstories.net/reviews/ivory-for-mastodon-review-tapbots-reborn/)

Brookings reports on:

[Twitter, the EU, and self-regulation of disinformation](https://www.brookings.edu/blog/techtank/2023/01/18/twitter-the-eu-and-self-regulation-of-disinformation/)

**Or why Space Karen is cruising for a bruising from the EU.**

The Guardian has:

[Back to the future: how Mastodon is restoring the lost art of online conversation](https://www.theguardian.com/commentisfree/2023/jan/21/back-to-the-future-how-mastodon-is-restoring-the-lost-art-of-online-conversation)

Jim Nielson says:

[The Best Time to Own a Domain Was 20 Years Ago; The Second Best-Time Is Today](https://blog.jim-nielsen.com/2023/best-time-to-own-a-domain/)

**I 1000% agree. Stay off proprietary platforms.**

One of the greatest minds in digital communication, Seth Godin, looks at:

[The platform and the curator](https://seths.blog/2023/01/the-platform-and-the-curator/)

That’s it for this week. Please share this communiqué.

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

Follow us [on Flipboard](https://flipboard.com/@mobileatom/symfony-for-the-devil-allupr6jz) or at [@symfonystation@phpc.social](https://phpc.social/web/@symfonystation) on Mastodon for daily coverage. 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? Or supporting our journalistic efforts? 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!

**[Visit our Communiqué Library](https://www.symfonystation.com/Communiqu%C3%A9s)**

You can find a vast array of curated evergreen content.

##Author

![Reuben Walker headshot](https://www.symfonystation.com/sites/default/files/styles/large/public/inline-images/Reuben-Walker-Headshot-Web.jpg)

###Reuben Walker

Founder

Symfony Station