Skip to main content
Exploring the Symfony Universe

 


 

 


 

Symfony Station Logo

Symfony Logo

 


 

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.

 

Thanks to Javier Eguiluz and Symfony for sharing our last communique in their Week of Symfony.

 

*Please note all links will open in a new browser window. My opinions, if I present any, will be in bold.

 

Symfony

 

This week

 

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.

A Week of Symfony #776 (8-14 November 2021)

 

Javier continues a series of posts on what’s new in Symfony 5.4.

 


 

Great deals are available if you are looking for official certification.

Black Friday 2021 Offers from the Symfony Ecosystem


 

This one is self-explanatory.

Symfony 6.0.0-BETA2 released


 

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! 

Announcing the Final Schedule of SymfonyWorld Online 2021 Winter Conference

 

They also announced the new and retiring members of the Symfony Core Team.

New Core Team Members, 2021 Edition

 


 

Featured Item graphic

Featured Item

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

Join us to make tech work for democracy and human rights!

 


 

Via SymfonyCasts: “Another busy week in Symfony Security! So let's get down to business.” 

This week on SymfonyCasts

 

This one is self-explanatory. 

Getting the first character of a string with PHP and Symfony.


 

The following post looks at using the Svelte javascript framework with Symfony.

Svelte + Symfony, ma cure d’amincissement

 

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.

Contrôlez la qualité de vos projets PHP & Symfony à l’aide des GitHub Actions


 

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

The Dependency Injection Paradigm


 

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

Using PHP 8.1 enumerations in Symfony: Symfony 5.4/6.0 will support them from day one.


 

Wouter Carabain has another article on his Symfony and React app. 

Tying up loose ends & Stock Portfolio API (Part 4)


 

Techno Craft has two articles covering command line interfaces and Symfony.

How to create a custom CLI and use it in Symfony (part1)

How to create a custom CLI and use it in Symfony (part2)

 

Marco Pfeiffer notes that there are only 2 types of database relations. All other types are usually bugs.

Mastering Doctrine ORM relations

 

Timeless

 

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

Symfony — why it's a good technology for your business application development


 

Olususi Oluyemi has this classic post for us.

Creating your First Symfony App and Adding Authentication


 

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.

How does login and authentication work in Symfony 5?

Symfony 5+: how to import or link to javascript and CSS files with webpack encore.

 

PHP logo

PHP

 

This week
 

Just how fast is PHP 8.1? It’s this quick. Wow.

Automatic performance benchmarking: PHP 8.1 is ~30% faster than PHP 7.4

 

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

PHP, what are dynamic properties?

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.

PHP Design Patterns — Adapter

 

Arash has another interesting pattern post on Medium.

Strategy Design Pattern In PHP8


 

Also, on Medium, Patrick Augustus looks at inheritances and traits in PHP. You will probably need the translate button on this one.

Horizontal Inheritances with Traits in PHP


 

Here’s some excellent information on using PHP and the Nginx server with Docker from Samuel Fontebasso in these two articles.

PHP+Nginx with Docker in production: Part 1 - Introduction

PHP+Nginx with Docker in production: Part 2 - Running your code


 

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.

Isolating global variables with a co-routine context manager in Swoole

 

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

PHP Date and Time Recipes


 

Last Week
 

 

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

Stopping time with PHP

 

PHP Architect has an enticing new book out. It’s worth a look.

The Complementary PHP Testing Tools Cookbook

 

Timeless

 

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

Using Interfaces to Write Better PHP Code

 

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.

Best Ways to Encrypt Passwords, Keys, & More with PHP in 2021

 

Code logo

Other

 

Cinto provides a look at an important topic, SSL and TLS.

A Highly Simplified Overview of SSL/TLS: Understanding network communication using real-life analogies


 

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

Here are the Dockerfile tips you can use to get your builds faster and safer.

 


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

API Architecture — Design Best Practices for REST APIs


 

This post is more like a short book so bookmark it for reading at your leisure.

The Ultimate Introduction To Agile Project Management


 

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.

State of the Octoverse

 

 

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.

OpenAI makes GPT-3 generally available through its API

 

 

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!

Author

Photo of Reuben Walker

Reuben Walker

 

Founder Symfony Station

Ringmaster Mobile Atom Media and Mobile Atom Code.

 


 

 


 

Join our list  

* indicates required
x

RESERVE YOUR PLACE

Symfonistas, join our list to get every newsletter delivered straight to your inbox. We'll only fill your inbox with happiness. No commitments, unsubscribe anytime.

Coming in late 2021. For now you will be emailed each new blog post aka Communique.

The form is at the bottom of this page.