Welcome to this week's Symfony Station Communique. It’s your weekly review of the most valuable and essential news in the Symfony and PHP development communities. This week it’s pretty extensive, so take your time and peruse it for the most valuable items.
*Please note all links will open in a new browser window. My opinions, if I present any, will be in bold.
As always, we will start with the official news from Symfony.
Highlight -> “This week, Symfony development activity focused on polishing and tweaking the upcoming Symfony 5.4 and 6.0 releases (both will be published before the end of this month). In addition, Symfony announced a new sponsoring program for SaaS providers to back their Symfony bridges.”
Javier continues a series of posts on what’s new in Symfony 5.4.
- New in Symfony 5.4: New Validation Constraints
- New in Symfony 5.4: Configurable Exceptions
- New in Symfony 5.4: Filesystem Path Class
- New in Symfony 5.4: Redesigned Profiler Logs
- New in Symfony 5.4: Language Negotiation
Great deals are available if you are looking for official certification.
This one is self-explanatory.
Symfony has announced the final schedule for SymfonyWorld Online 2021 Winter Conference. We're excited about the Symfony 6 sessions (of course) and the ones on design patterns, runtime, Docker, TWIG, API platform, and Symfony UX!
They also announced the new and retiring members of the Symfony Core Team.
We continue to highlight the most significant post of the week.
Get involved with this!
The first event was this Thursday, but it is a year-long initiative.
Denmark notes: “Digital solutions can promote human rights, bring people closer to the decisions that influence their lives, and make democratic institutions stronger and more responsive. Yet online, expectations and aspirations for democracy have not been fully met. Digital technologies pose a severe threat to democracies globally and our democratic practices.”
Via SymfonyCasts: “Another busy week in Symfony Security! So let's get down to business.”
This one is self-explanatory.
We curated several posts last week from Mickaël Andrieu. Here is another one from his series on controlling the quality of your Symfony and PHP projects.
Matthias Noback says: “a paradigm shift happened years ago when we went from symfony1 to Symfony 2, introducing the Dependency Injection container. The idea of Dependency Injection was quite new to many developers back then, and we had to talk and read about it a lot before we were ready for this amazing yet weird concept. What got in the way of adoption, I think, was the Yaml or XML syntax for service definitions, an approach that was probably copied from Spring. If we'd start by writing our service containers in plain PHP, that would've been much easier to learn and do.”
Alexandre Daubois notes: “I’ve been involved in the addition of enumerations support in the Symfony framework. A news item was posted on Symfony’s blog about enumerations in the framework. You may want to read it first! This article is a supplement with additional code snippets and information.”
Wouter Carabain has another article on his Symfony and React app.
Techno Craft has two articles covering command line interfaces and Symfony.
Marco Pfeiffer notes that there are only 2 types of database relations. All other types are usually bugs.
Soft Gorillas says: “Choosing the right technology for application development is an important task. However, a lack of knowledge about the most popular tech stack may result in choosing a framework that will not assure great performance or crucial features. So today, we’d like to tell you more about Symfony.”
Olususi Oluyemi has this classic post for us.
I ran across Akashic Seer’s blog this month, which is a treasure chest of Symfony-related posts. Here are a few posts from his archive.
Just how fast is PHP 8.1? It’s this quick. Wow.
“These days we hear a lot about dynamic properties in PHP and the possibility of it being deprecated by version 8.2, only to disappear from version 9. The proposal is documented in a dedicated RFC, and it generated a lot of discussions especially on the social networks (like Twitter etc).” says Roberto Butti.
Roberto also published this very useful e-book. "50 drops of PHP" is an open-source e-book, that you can download for free. It collects 50 useful, unknown, and underrated PHP functions.
50 Drops of PHP
Fabio Hiroki looks at the Adapter pattern’s use with email notifications. Its purpose is to make classes that have incompatible interfaces work together.
Arash has another interesting pattern post on Medium.
Also, on Medium, Patrick Augustus looks at inheritances and traits in PHP. You will probably need the translate button on this one.
Here’s some excellent information on using PHP and the Nginx server with Docker from Samuel Fontebasso in these two articles.
Unlike traditional PHP, where you run servers behind an Apache or Nginx HTTP service with either mod_php or PHP-FPM enabled, your PHP applications would run using a stateless model, whereas Swoole runs using a stateful model. By design, Swoole runs in memory. It takes advantage of saving things in memory, so you don't have to reload everything for every request coming into your servers.
Arjuna Sky Kok says: “Dealing with dates and times is one of those things that can frustrate programmers a lot. At the same time, they are fundamental to software development, used from everything from meta and how things are ordered to time-based triggers and lots in between.
Dates and times are prone to errors too. Handle them incorrectly, and they can confuse end-users and fellow programmers alike.
This is a quick guide to dealing with dates and times specifically in the PHP programming language.”
Speaking of time,
Rubén Rubio - great name ;) - says: “It is a good practice to use an interface to manage the clock in an application, as it allows having full control of time. For example, it eases testing, as it lets us define the concrete time for each test.”
PHP Architect has an enticing new book out. It’s worth a look.
Ashley Allen states: “In programming, it's important to make sure that your code is readable, maintainable, extendable, and easily testable. One of the ways that we can improve all of these factors in our code is by using interfaces.”
Ashly Rich attended a talk a few years ago and found out how vastly complicated cryptography is and how PHP is making encryption more accessible thanks to the introduction of Sodium. Data encryption in PHP has been vital to his work on SpinupWP, a cloud-based server control panel with root access to thousands of servers and sites.
Cinto provides a look at an important topic, SSL and TLS.
Mateusz Cholewka notes: “Nowadays we are using docker a lot in web development. It’s easy to use, great for scaling, and gives us an immutable environment for running your application from local development to deploying on production. However, to get the best experience when using docker, you should apply some practices to get fast and light builds of your docker images.”
Abdul Wahab says: “In general, web services have been in existence for just as long as the HTTP protocol has existed. But, since the beginning of cloud computing, they have become the ubiquitous method of enabling client interaction with services and data.”
This post is more like a short book so bookmark it for reading at your leisure.
In this year’s GitHub Octoverse Report, their research tells you how to improve your performance and well-being by developing code, creating documentation, and supporting communities in smarter, more sustainable ways.
OpenAI removed the waitlist for GPT-3, its large language model that can automatically write emails and articles, compose poetry, create code across a dozen programming languages, and more. Any developer in a supported country can sign up to begin integrating the model with their app or service.
Have you published or seen something related to Symfony or PHP that we missed? If so, please contact 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. Next week is also the Thanksgiving holiday in the U.S. so it may be a short (or long) edition. It depends on how much time I want to spend around the in-laws. ;)
Please share this post. :) Be sure to join our newsletter list, so you get each week's communique directly in your inbox (a day early). And follow us on Twitter at @symfonfystation.
Happy coding Symfonistas!