A white paragraph.
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é in their Week of Symfony.
And thanks to OpenLAMPTech for sharing our article, 2023’s Challenging yet Achievable(?) New Tech Goals for my Symfony-based 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! The compensation we receive from your use of this link helps pay for our weekly communiqué.
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)
SymfonyLive Paris 2023 - SQLite in production? How about re-evaluating your options?
SymfonyLive Paris 2023 - Juggling asynchronously with Symfony HttpClient
SymfonyCasts a new API Platform 3 course.
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
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
Jolicode shows us:
How TaggedLocator Can Help You Design Better Symfony Application
How to build a OR condition in Elasticsearch Query DSL
Antoine Bluchet explores the new:
Nico Anastasio shows us:
10 Commands to Add a Database to Symfony
Sponsoring Symfony 6.2 development
Yusuf Biberoğlu looks at:
Flutter with a PHP Symfony Backend
If you are building a multi-OS app, Flutter is the way to go.
Fiko Borizqy shares:
Magento 2: How to Create Unit Testing?
Custom Order Number Patterns in Drupal Commerce
The Drupal Association shares:
Drupal Association January Newsletter 2023
Are You Suffering from Drupal Upgrade Fatigue?
Golems examines the:
Layout builder toolset. Must have contrib modules for better layout control
I love Layout Builder so I will be checking this out.
How to create and apply a patch with Git Diff and Git Apply commands for your Drupal website
Martin R shows us:
How to create Drupal Queue Workers
5 Top Tips for Securing Your Drupal Website
Peoples Blog shows us how to:
Secure your Drupal Application's Reset Password flow
Multisite Local environment setup with DDEV and Drupal
Greg Boggs wants you to:
Unleash the Power of Drupal 9 Routing: Create Custom Routes with Page Callbacks & Debug Like a Pro
Matt Glaman examines:
Leveraging the list cache tag for 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
hashbangcode looks at:
Drupal 10: Creating Custom Context Providers
Drupal 10: Using Context Definitions To Create Context-Aware Plugins
Platform.sh wants you to:
Power-up your local development with DDEV
Christian Córdoba shows us:
Cómo ejecutar tu aplicación Symfony con FrankenPHP 🐘 +🧟
Love the emojis.
Mastobot: For your Fediverse PHP posting needs
Node.js vs PHP: A Head-to-Head Comparison
Node.js brings back bad memories of coding bootcamp, but this is a fair comparison.
Ismail Tasdelen demonstrates:
Secure PHP Application Development
Matus Stafura examines:
Nacho Colomina shares a:
Simple example of using PHP 8.1 enums
Stop Caching Relations Inside Your Models in PHP
Nikola Stojiljkovic continues his series:
[PHP Guidelines series] Introduction and Factory Method Design Pattern
[PHP Guidelines series] Final classes as a warning sign
[PHP Guidelines series] Abstract Factory design pattern - and why it's bad
[PHP Guidelines series] Adapter design pattern + a dangerous workaround to implement Class Adapter
Sakis Ball starts a new series:
Universally Bad Programming Practices (and their alternatives) pt.1
Andrei Birta looks at:
Exploring Code Reuse with Traits in PHP
Understanding and Utilizing Abstract Classes in PHP
WilliamP continues his series:
30 Days of Automated Testing：Using PHPUnit【D07】
30 Days of Automated Testing：Using PHPUnit【D08】
30 Days of Automated Testing：Using PHPUnit【D09】
30 Days of Automated Testing：Using PHPUnit【D10】
30 Days of Automated Testing：Using PHPUnit【D11】
30 Days of Automated Testing：Using PHPUnit【D12】
30 Days of Automated Testing：Using PHPUnit【D13】
Claudio Ribeiro has a:
Quick Tip: How to Manage Error Reporting in PHP
Saravana Sai explores:
Interfaces and Polymorphism in PHP - Practical Guide
Rafael Bernard Araújo has:
A bref AWS PHP history – Part 1
Andreas Heigl shows us why:
Oluwabamidele Ayanda continues their series:
Docker Compose: Deploy a Containerized Application
Camilo Herrera shows us how to:
Create a Basic PHP API with Token Authentication
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 and other douchebaggery
Peter Hartcher reports on:
The software giant warning Ukraine where Russia plans to strike
The Guardian reports:
‘I want to live’: the Ukraine hotline encouraging Russians to surrender
US Targets Chinese Company in Broader Russia Sanctions Push
US announces it seized Hive ransomware gang’s leak sites and decryption keys
The Hacker News reports:
Google Takes Down 50,000 Instances of Pro-Chinese DRAGONBRIDGE Influence Operation
Elon Musk’s Twitter hit with holocaust denial hate speech lawsuit in 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
North Korean Hackers Turn to Credential Harvesting in Latest Wave of Cyberattacks
Russian hackers launch cyberattack on Germany in Leopard retaliation
I got a hunch the tanks are going to be more effective than the hackers. 💀 🇷🇺
Russian And Iranian Hackers Targeting Politicians and Journalists
The Guardian reports:
Russia outlaws Meduza in attempt to stamp out independent news
Pegasus spyware defended by NSO's CEO, as researcher compares it to a nuclear weapon
North Korean Attackers TA444 Shift Tactics
Attacker Stole GoTo Customer Backups and Encryption Key
A hack at ODIN Intelligence exposes a huge trove of police raid files
The NewStack shows us:
How to Get Started Filling 3.4 Million Cybersecurity Jobs
Good News, Bad News for Security Researchers: Feds Are Less Likely to Charge You, States Are Another Thing
Kinsta looks at:
Cloud Computing Trends (What's Hot for 2023 — And Beyond)
Tomasz Dobrowolski shares:
5 Steps to Resolving Any Bug as a Software Engineer
Jacob Stopak shows us:
How to Visualize Confusing Git Commands with Git-Sim
This is helpful for Git-challenged peeps like me.
WebAssembly: Docker without containers!
Jason Knight looks at:
HTTP Parallelism, Push, “Preload”, And Why Markup Bloat is The Enemy
Don’t Panic: A Developer’s Guide to Building Secure GraphQL APIs
Scott O’Hara wants you to:
Use the dialog element (reasonably)
SmashingMag shows you how to:
Level Up Your CSS Skills With the :has() Selector
Creating A High-Contrast Design System with CSS Custom Properties
Tanner Barcelos explores:
Learning Svelte - Part 1: Why Svelte?
Jangwook Kim explores:
5 Common Mistakes to Avoid When Building Svelte Applications
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
Brookings reports on:
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
Jim Nielson says:
The Best Time to Own a Domain Was 20 Years Ago; The Second-Best Time Is Today
I 1000% agree. Stay off proprietary platforms.
One of the greatest minds in digital communication, Seth Godin, looks at:
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. Joining gets you each week's communiqué in your inbox (a day early).
Follow us on Flipboard or at @firstname.lastname@example.org on Mastodon for daily coverage. Consider joining the @phpc.social 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. Or, if you know of one, get in touch.
You can find a vast array of curated evergreen content.