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. And this week, we also cover the war crimes going on in Ukraine and how you can help. Take your time and enjoy the items most valuable for you.
Please note that links will open in a new browser window. My opinions and there are plenty of them, will be in bold.
As always, we will start with the official news from Symfony.
Highlight ->“This week, Symfony announced that Symfony 6.1 will require PHP 8.1. This is needed to fix some issues related to PHP preloading. We also decided to extend Symfony 6.0 maintenance by an additional 6 months to give you more time to prepare the migration to PHP 8.1. Finally, Symfony announced the last talks and speakers for the SymfonyLive Paris 2022 conference.”
Several updates were released.
SymfonyCasts has new EasyAdmin tutorials and a link for how to help Ukraine.
Discover all the talks, keynotes, and speakers scheduled at the French SymfonyLive conference in Paris on April 7-8 2022.
Alexandre DuBois and SensioLabs have started a blog series on Medium named Symfony Internals.
And hotel rooms are available for SymfonyCon 2022 in Paris.
This week’s was a no-brainer. Symfony has this on the war crimes in Ukraine:
“I like to say that an Open-Source project is nothing without a user community. You can have the best technical product ever, if nobody is using it, if nobody maintains it, if nobody spreads the word about it, it's useless. It's merely a proprietary project with an Open-Source license attached to it.
Symfony is first and foremost a community.
Today, the Symfony community is under attack.
Ukraine is in the top 10 countries in terms of visitors on this website (about 100.000 unique users during the last year alone). And we can see the traffic drop since last week :(
We have more than 2,000 registered SymfonyConnect users in Ukraine.
The Symfony book is already available in Ukrainian for both Symfony 5.4 and 6.0. It was one of the very first translations available thanks to the hard work of wonderful Ukrainian developers. The PDF book in Ukrainian on Leanpub is now free and it will stay free forever.
If you enjoy watching Symfony videos on SymfonyCasts, you can thank Ryan and Leanna from the US, but also Victor from Ukraine.”
Get the rest with this link.
I provide my pissed-off take in the Other section below.
Since Russia has more than its fair share of bad actors and criminals, it’s time to beef up your Symfony Security.
Here at Symfony Station, we published a new article reviewing the eCommerce solutions using Symfony.
Stefan Alletti shows us an “Example of a Symfony application using Domain-Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) principles while keeping the code as simple as possible.”
Akashic Seer is back with this entertaining post.
Wooter Carabain tells us “Testing your code is very important as a software developer. It not only helps you prevent bugs when you’re adding or changing features, but a good test suite also gives you and your customers a lot of confidence in the stability of the product.
Testing in Symfony is fairly easy using the Symfony
/PHPUnit-bridge package. You’ll write classes containing your tests and run them, no problem. But creating the classes adds a lot of boilerplate code. What if I told you it’s possible to get rid of a lot of boilerplate code and have a nice and elegant way of writing your tests as if you’re writing an English sentence? This is where Pest comes in!”
Hantsy writes “PHP 8.1 introduces the official Enum support. Doctrine brought Enum type support in its ORM framework, and Symfony added serialization and deserialization support of an Enum type.” He explores:
Guillaume continues his series we have been featuring with:
Mateo Fuzul shows us “why it’s important to translate your application and how you can do it using the Symfony translation package.”
Jakob Perry makes:
Kevin Wenger shows us how to:
And Josh Estep demonstrates:
We promised to share the Florida DrupalCamp presentations when they became available.
The slides can be found on individual session pages.
Jacob Rockowitz says, “There are plenty of resources in the Drupal community for learning how to build a module. This article is not about building a custom module. My goal is to provide a guide for auditing and reviewing a Drupal module. In doing so, I'm aiming to help you achieve your goal to understand, document, clean up, and hopefully improve a Drupal module.”
Joseph Udonsak finishes a series on Test Driven Design with “In this, the third and final part in the series, you'll implement the last feature of the application using TDD, transaction history. In addition to that, you'll learn about the concept of test coverage and how it impacts application reliability.”
Strangebuzz has this for us “In this post, we see a simple solution to mock API calls with the Symfony HTTP client, declare a scoped HTTP client, and test it with or without mock. Let's go!”
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.
All sponsored articles are for products we have vetted and stand behind. We either use them or would do so if they were applicable to the Symfony Station site.
Michał Romańczuk writes “SOLID, this acronym was coined by Michael Feathers, it represents the five basic principles of object-oriented programming developed by Uncle Bob.
Most programmers probably know this acronym. But it seems to me that a minority can decode it.”
Moath Omarsa has a good review of PSR.
Italo Baeza Cabrera says, “testing doesn’t have to be a 1,000 line per-test odyssey.”
He also expands on the “PHP is dying” misconception.
Always use the best tool for the job. Sometimes it’s PHP. At other times it isn’t.
The March issue of PHP Architect is out.
Zend details “
Dockerfile, showing how you can use the same file to create different custom PHP Docker images, and demonstrates some additional techniques you can use.”
Vincy shows us how to build a:
Rias has this for us:
Anand Rajendran writes “Object-oriented programming is about creating objects that contain both data and functions.” This article is a good review of OOP.
It’s time for everyone in the free world to start attacking the Russian government and its cadre of war criminals, thugs, and all-around dipshits. It’s the way the outside world helped end apartheid and it’s what will work here eventually. We need to keep it up until the Russian people depose their latest tyrants or the Russian military disposes of Putin and withdraws from Ukraine.
I am doing what I can to help:
- Sponsoring Drupal Camp Kyiv in June even though I have no plans to attend and it may not take place.
- Buying books from Smashing Dev that donate profits to supporting Ukraine.
- Donating to the Ukraine Army so they can prevent Russians from murdering their citizens.
By the way, I am opposed to all fascists and communists be they in Russia, North Korea, China, Europe, the Middle East, Asia, Africa, or the Americas.
The Tech Policy Press writes “Imagine it is September 1939. Germany has invaded Poland on the false premise that Poland has joined with Britain and France in a bid to attack it.
But add a tweak to the timeline- imagine there is a set of major publishers based in the United States who channel Hitler’s propaganda campaign across the globe, including to a substantial American audience. Imagine Hitler has built an incredible capacity to manipulate media, use out of context images and film, create the impression of support by inventing false personas, and engage in a variety of other tactics that have been observed to advance his aims, taking advantage of the capabilities these publishers provide and the lax enforcement of their standards. Imagine that every official and government entity loyal to Hitler also has a deal with these publishers, and their means to easily reach a global audience instantly.
Would you demand those publishers pull the plug on Hitler, or would you defend the German state’s right to some confused notion of “free speech,” even as Hitler sets out to destroy the lives of millions?
That is the situation Google, Facebook, Twitter, and other U.S. tech firms are faced with right now, as they host, distribute, amplify, and in some cases help monetize Vladimir Putin’s propaganda outlets – including Russian state media that are already registered as foreign agents, as well as the official accounts of Putin’s government and its officials.
Rest of World has an overview of Big Tech’s tepid actions to date. Most of them have been taken because they are legally required.
Venture Beat writes “Mykhailo Fedorov, the country’s vice prime minister, announced on Twitter, “We are creating an IT army.” “We need digital talents,” wrote Fedorov, who also holds the title of minister of digital transformation — sharing a link to a Telegram channel where he said operational tasks will be distributed. “We continue to fight on the cyber front.”
If you have hacking skills, fucking join this.
The State notes “Anonymous, a renowned international hacker group, has declared a cyberwar against Russia, which is accused of its cyberattacks against Ukraine. President Biden has also reportedly been given options for “massive cyberattacks” to target Russia and complicate its invasion.”
And it did not take them long to achieve results.
As mentioned above in addition to going on the offensive, the non-thug world needs to up its defensive game.
A New York Times opinion piece explores America’s vulnerability to cyber-attacks.
The Washington Post reports that fortunately:
Also, fortunately, Platformer reports:
In less depressing news, Florian Jaton sheds light on the human side of algorithms.
Marc Andrews writes “When creating efficient, accessible, and beautiful UIs, it takes only the smallest tweaks to improve your designs.
In this follow-up article, I’ve brought you another selection of easy to put into practice UI & UX micro-tips.
Tips that can, with little effort, help improve both your designs and the user experience.”
CSSUI, a library that replaces some JS functionality with CSS, looks like a great tool. At least to me, a JS critic.
Damir Kotorić pontificates on:
Mozilla and others announced “Interop 2022 is a cross-browser initiative to find and address the most important interoperability pain points on the web platform. The end result is a public metric that will assess progress toward fixing these interoperability issues.”
C.S. Rhymes writes “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.
This article will guide you through the basics of creating your configuration for dependabot so it can correctly analyze your dependencies and automatically create Pull Requests for you.”
To wrap up, Joshua Otwell has this for us:
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. Joining gets you each week's communiqué in your inbox (a day early). And follow us on Twitter at @symfonfystation.
Do you own or work for an organization that would be interested in our promotion opportunities? If so, please contact 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 provide you with free promotion. Even though it's for the WordPress ecosystem, we're starting with Crocoblock. They make booking and eCommerce blocks.
And within the Symfony ecosystem Codeception, which “collects and shares best practices and solutions for testing PHP web applications. With a flexible set of included modules tests are easy to write, easy to use, and easy to maintain.”
Keep going Symfonistas!