Sorry, you need to enable JavaScript to visit this website.
Skip to main content
Exploring the Symfony Universe

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

Welcome to this week's Symfony Station Communiqué. It's your weekly review of the essential news in the Symfony and PHP development communities. DrupalCon was last week, so there are lots of developments from that Symfony-based CMS.

Take your time and enjoy the items most 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.

Symfony

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

Highlight -> “This week, Symfony 4.4.41, 5.4.8, and 6.0.8 maintenance versions were released. In addition, the second beta of Symfony 6.1 was published so you can test it in your real projects before its final release. Meanwhile, the SymfonyWorld Online 2022 Summer Edition conference announced new talks and speakers.

Lastly, a big thank you to all of you who have been following this weekly summary for 800 consecutive weeks, making it one of the longest-running series in the entire software industry.”

A Week of Symfony #800 (25 April - 1 May 2022)

Congratulations.

Javier Eguiluz continues to update us on what’s coming in 6.1 with:

New in Symfony 6.1: Service Decoration Attributes

New in Symfony 6.1: Service Autowiring Attributes

New in Symfony 6.1: Serializer Profiling

New in Symfony 6.1: Configurable Semaphores

New in Symfony 6.1: Simpler Bundle Extension and Configuration

This item is self-explanatory.

The old Symfony Flex infrastructure is shutting down

SymfonyCasts announced, “On our old Symfony 5 project, a lot of recipes need to be updated! Including the most important Flex recipe: symfony/framework-bundle. We’ll update this to the latest version and talk about why things changed... like new “env” config, Runtime component & preloading!”

This week on SymfonyCasts

Platform.sh announces, “After the release of Infrastructure Metrics and Observability for the Dedicated infrastructure projects, we are thrilled to announce the immediate availability of this feature for all environments of your Professional projects. A new Metrics tab will now be present on the environment level, to give you insight and visibility over your application, worker and service containers.”

Infrastructure Metrics available for all Professional projects

Technology Magazine held an:

Executive Q&A with Fred Plais, CEO & Co-founder of Platform.sh

Featured Item

Featured Item graphic

I love JavaScript approaches like Stimulus, Livewire, and Inertia. There is more on the last two at the bottom of this communiqué.

Viktor Markov writes, “I’ve decided to create a document with examples of how we can implement different features with Stimulus. If you are not familiar with it yet — it’s a simple framework that allows writing structured JavaScript code within controllers.”

Stimulus Use Cases

This Week

Ludovic Frank explains why:

As a developer, Symfony is my framework of choice (in French)

Nicolas Moral writes, “Using Symfony controller without Request, is like riding a bike: it seems complicated at first, in the end it couldn’t be easier.”

Symfony without Request

Quable team members review several sessions from the recent SymfonyLive in Paris.

Quable at SymfonyLive 2022 (in French)

Also in French, Les Tilleuls Coop says:

We are speakers Summer Edition 2022! Discover some new features in this preview

The Akashic Seer site is back with:

Symfony 5+ how to view dump output with AJAX requests

Azay Karimli is starting a series of posts for Symfony newbies.

Get started with Symfony 6 for beginners.

CMSs

Dries Buytaert writes, “Last week, 1,300 Drupalists gathered in Portland, Oregon for DrupalCon North America.

In good tradition, I delivered my State of Drupal keynote. You can watch the video of my keynote or download my slides (262 MB).

I covered a lot of ground in this presentation, so I broke down my written summary into a three-part blog series. Part 1 below focuses on Drupal 10 updates. I'll be publishing Part 2 and Part 3 later this week, which will focus on Drupal's evolved purpose/vision and Drupal 11 proposed initiatives.”

State of Drupal presentation (April 2022)

Part 1 - Drupal is for ambitious site builders

It’s for me evidently.

Matt Glaman adds:

Improve the Drupal developer experience to empower the Ambitious Site Builder

Droptica notes, “When creating websites on Drupal, as developers, we should try to make our job easier. Managing modules, users, generating code – all these processes can be automated and performed with single commands.’

Which Drupal Development Tools are Worth Using? 7 Handy Solutions

Sebin Jacob follows up on a tweet from Drupal icon, Gábor Hojtsy with:

Here Are Some Cool Drupal Contrib-Modules, Check (them) Out!

Speaking of Gábor, he has this for us.

The epic story of the last week of how Drupal's frontend and backend look changed after 11 years at DrupalCon Portland

Daniel Phin says, “This post introduces a completely new way of implementing Drupal hooks. You can finally get rid of your .module files, eliminating many calls to \\Drupal with dependency injection in hooks.”

A modern alternative to Hooks

arnabroychowdhury explores:

Testing For Cross Browser Compatible Web App using Joomla

Chris Müller shares his experience with a:

Migration to TYPO3/composer-cms-installers version 4

Platforms

Despite many challenges, Yii Software published a newsletter.

Yii news 2022, issue 1

PHP logo

PHP

This week

The May issue of php[architect] is out.

May issue release: One Last Slice

Mhammed Talhaouy shares:

5 Advanced PHP Tricks That Only Expert PHP Developers Follow

Viktor Daróczi continues his series on functional php programming:

Waiting for the Miracle — Functional Programming in PHP (Part 7)

Anton Ukhanev opines, “Suggestion for PHP development: forget about the word "array" in human-readable docs, var names, etc. Conceptually, an array is either a list or a map. These two have separate interfaces, since they are consumed differently, and therefore have different types.

PHP Array: A Gross Mistake

Teman Ngoding notes, “Sorting makes many tasks that require accessing or obtaining a specific set of data very easy and efficient. In this tutorial, we will learn how to use the built-in PHP functions to sort various types of arrays.”

How to Sort Arrays in PHP

Alessandro Castellano shows us program a redirect in PHP.

PHP Redirect Tutorial

Lucas Pereyra says, “A couple of days ago, I saw a YouTube short from a highly recommended channel that shows a very elegant way of dealing with try/catch blocks nesting and repetition in JavaScript, and I wondered whether something similar could be done for PHP.

We use try/catch blocks in PHP to make our programs fault-tolerant or to provide error handling up to a certain point. With try/catch blocks we can gracefully process certain errors that might occur at runtime without necessarily making our application stop.”

A PHP Pattern To Avoid Try/Catch Blocks Repetition

Rector PHP has an announcement:

New in Rector 0.12 - Introducing Rector Config with Autocomplete | Rector - Automated Way to Instantly Upgrade and Refactor any PHP code

Andrew Savetchuk asks:

What is PHP CS Fixer and how can it help you keep your code cleaner?

Stefano Alletti writes, “PHP Mess Detector is yet another one of those tools that help to keep the code base manageable and clean. It applies certain rules to check the quality of the code. This document is intended as a guide to initializing PHPMD rules on PHPStorm.”

My PHPMD Configuration on PHPStorm

Timo Schinkel makes:

The case for immutability

In Brazilian Portuguese, Caio Flavio looks at Command Query Separation (CQS):

CQS Pattern - Quando, como e por quê utilizar?

Jordi Bassaganas says, “you’ve been assigned a task that requires to do accurate calculations on huge numbers. For example, it could be the case that a bank with millions of customers operating globally wants to find out how much the entire world economy is worth. Well, all you need to know is there’s a PHP library called Money that will help you impress everyone because it supports big integer operations in PHP.”

Arithmetic Operations With Huge Numbers

Kareem Zock takes a look at:

Zebra: a series of 6 advantageous PHP libraries/classes

Code logo

Other

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

CyberScoop reports, “U.S. Cyber Command conducted nine “hunt forward” operations in different countries last year, a data point he shared to illustrate why the command’s use of persistent engagement is critical to its success.”

Cyber Command did nine 'hunt forward' ops last year, including in Ukraine

Bloomberg reports on an individual mission:

U.S. Sent Cyber Team to Lithuania Over Threat of Russian Hacking

Euronews reports that “After seven years of tracking and debunking pro-Kremlin disinformation campaigns in the bloc, the EU's anti-fake news agency is now looking even further east in a bid to counter Chinese propaganda.

Two reports from EUvsDisinfo were over the past few weeks released in Chinese — a first for the Task Force. Both were on fake news over the war in Ukraine.”

EU anti-fake news agency starts debunking in Chinese

Forbes reports on:

Preparing For Cyber Attacks – Strengthening Defenses Against Nation-State Threats

The Evil Empire Strikes Back

U.S. News and World Report notes, “The British Foreign Office said on Sunday Russia is using a troll factory to spread disinformation about the war in Ukraine on social media and target politicians across a number of countries including Britain and South Africa.”

Britain Says Russian Troll Factory Is Spreading Disinformation on Social Media

The Guardian reports that, “Facebook moderators have called on the company to let them take action against users who praise or support the Russian military’s atrocities in Bucha and across Ukraine.”

Facebook moderators call on firm to do more about posts praising Bucha atrocities

They also have:

Russia’s trolling on Ukraine gets ‘incredible traction’ on TikTok

And:

Spanish prime minister’s phone ‘targeted with Israeli spyware’

The Record reports, “After knocking out the internet service in Kherson, Ukraine, this weekend, Russian forces reinstated service but routed it through Russia’s network instead of Ukrainian telecommunications infrastructure.”

Russia reroutes internet in occupied Ukrainian territory through Russian telcos

In news that surprises no one, NPR reports:

Journalist says Britain has become a safe deposit box for oligarchs' ill-gotten gains

And in news that exemplifies the stupidity of the Russian military, Business Insider reports:

A Russian soldier who was in Bucha during the executions was identified because he spray-painted his Instagram handle in a civilian's home

Cybersecurity

GitHub will require all users who contribute code on GitHub.com to enable one or more forms of two-factor authentication (2FA) by the end of 2023.

Software security starts with the developer: Securing developer accounts with 2FA

The Times of Israel reports, “Three young Israelis formerly serving in military cyber units have figured out how to locate your digital footprint — and give you the tools to delete it.”

Right to be forgotten: Israeli tech firm says it can delete your digital footprint

VentureBeat reports, “A fundamental change in approach is long overdue. Instead of operating with a narrow focus on the ever-changing tactics, techniques and procedures (TTPs) of attackers, enterprises need to place a higher priority on actively safeguarding the assets they’re after. That is the foundational component to data-centric security — protecting data at the core, not from the perimeter.”

The case for data-centric security in 2022

They also have:

Cybersecurity and the Pareto Principle: The future of zero-day preparedness

And:

Apple, Microsoft, and Google announce plans to enable passwordless authentication for billions of devices

Leor Hurwitz notes, “Prioritizing data security often comes at the expense of a good UX. To balance client needs with user preferences, product managers must use research, constant calibration, and a dose of creativity.”

How to Reduce UX Friction in Secure Product Development

More

Germán Cocca writes, “In this article we're going to take a look at programming paradigms, a fancy title to describe popular ways or styles to organize your programming.”

Programming Paradigms – Paradigm Examples for Beginners

Laravel News notes, “Lately, I've been getting this question a lot from Laravel developers: "What should I learn/use - Livewire or Inertia.js?" And, of course, the answer is very individual, but let's try to compare them and provide more context for the decision.”

Livewire is the equivalent of Stimulus and Turbo in Symfony. The article below will expose you to Inertia.js.

Livewire or Inertia.js?

Via Smashing Mag the awesomely coiffed Josh Comeau writes, “Every now and then, someone will ask for my recommendations on UI frameworks. By “UI framework”, I mean any third-party package that is focused on providing styled UI components. It includes CSS frameworks like Bootstrap, as well as JS component libraries like Material UI or Ant Design.

My answer to this question tends to catch people off guard: I don’t use them, and I don’t think they should be used for most consumer-facing products.”

You Don’t Need A UI Framework

Oriol Banus goes into “a deep dive to understand the architecture of components, from the simplest ones to more complex elements.

Create components following this three-step process, and ensure you have a well-designed UI element that developers can easily build.”

The architecture of a component

This is a great article from our acquaintance, Brian Rinaldi.

The Top 6 Static Site Generators in 2022

Kinsta shows us:

How to Minify JavaScript — Recommended Tools and Methods

InfoWorld asks:

Will JavaScript containers overtake Linux containers?

Chris Nielsen opines that before long all apps will be cross-platform and not native.

I replaced my native iOS app with a cross-platform web app and no one noticed

I hope so!

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 @[email protected]. 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 going Symfonistas!

 

Visit our Communiqué Library

You can find a vast array of curated evergreen content.

 

Author

Reuben Walker photo

 

Reuben Walker

Founder
Symfony Station

 

 

 


 

 

 

Join our list  

* indicates required

Follow Symfony Station on Mastodon Mastodon Icon Twitter Twitter Icon Flipboard Flipboard Icon or Our Newsletter Newsletter Icon