Sorry, you need to enable JavaScript to visit this website.
Skip to main content

Symfony Station Communique - 26 November 2021

A white paragraph.

 


 

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 extensive again, so take your time and enjoy its 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 5.4.0 BETA3 and 6.0.0 BETA3 versions were published so you can test them on your applications before their final release at the end of the month. In addition, the Symfony Core Team added four new members to help grow the Symfony project in the next few years.”

 

A Week of Symfony #777 (15-21 November 2021)

 

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

 

 

Great deals are still available if you are looking for official certification. November 29th is the last day though!

 

Black Friday 2021 Offers from the Symfony Ecosystem

 

Symfony added to the official docs with information on Flex Private Recipe Repositories.

How To Configure and Use Flex Private Recipe Repositories

 

And this one is self-explanatory.

 

Symfony 6.0.0-RC1 released

 


 

Featured Item graphic

Featured Item

We continue to highlight a post of the week.
 

Please let us know what you think about this one.

 

It’s not the most important article of the week considering the news about PHP 8.1 and The PHP Foundation. However, it is the first original content created by Symfony Station so it gets the nod for our Featured Item. ;)

 

Twig - The Ultimate Guide to the Premier PHP Templating Language

 


 

Speaking of Twig, Prince Sinha shows us how to:

3 Ways to Reuse Twig Templates in Symfony

 

Via SymfonyCasts: “We've got some logged in users but we don't want them going anywhere they please around our app. The most precise way to protect your site is by denying access from each Symfony controller and we'll cover about 5 good ways to do that!” 

This week on SymfonyCasts

 

Here’s an interesting case study involving updating both PHP and Symfony.

Why did Alice's Garden need to set up a Business Intelligence tool?

 

Smaine Millani writes: “In this article, I’ll show how you can add validation on a Request content. (It’s more about a way to learn more about Request and event listener than a best practice.)”

What if we define validations rules in the routing configuration

 

Ahmed Khaled Mohamed shows us how to:

Deploy Sylius to Heroku

 

Alexandre Daubois tells you to “Brace yourself: autocompletion on options and arguments is finally here!”

Symfony 6 brings its CLI to the next level

 

Our friends at Jolicode show us how to:

Rate limit your Symfony APIs

 

Maks Rafalko demonstrates how to:

Improve Symfony Tests Performance

 

It seems like there is one of these every week. But, I find something useful in each one so we’re sharing.

Laravel vs Symfony – a comparison of the two most popular PHP frameworks

 

If you discovered this communique and are new to Symfony, this article is a good introduction.

What is PHP Framework Symfony? Explained for executives

 

In French UrbanLinker writes: “In order to help developers and CTOs in their migration to Symfony, SensioLabs has made available a comprehensive migration guide on this subject. From the PHP environment, to the advantages of Symfony via the legacy code, everything is explained to migrate smoothly.”

Migrating your legacy project to Symfony? SensioLabs explains everything

 

Hurray. An article on YAML was published and it’s a comparison with JSON and XML.

YAML Tutorial: Everything You Need to Know in 5 Min

 

Timeless

 

I ran across Akashic Seer’s blog earlier this month, which is loaded with Symfony-related posts. Here are a few more from his archive.

Symfony 5+ how to create a Maker

 

How to quickly create a complete Symfony 5+ app with login and password reset

 

PHP logo

PHP

 

This week
 

The PhpStorm blog made a big announcement you may have seen elsewhere. I made a contribution for #GivingTuesday and encourage you to do likewise.

The New Life of PHP – The PHP Foundation

 

Joe Watkins provides some very interesting details of how the foundation came about and what it requires.

Musings, ninja ones

 

In other big PHP news!

PHP 8.1 is released

 

And here’s the official announcement.

 

Finally, if you want to check it out via video, here’s one from JetBrainsTV.

What’s New in PHP 8.1: Enums, First-Class Callables, Fibers, Readonly Properties, and More

 

Mark Baker notes: “One of the many new features of PHP 8.1 is the ability to declare class constants as final, so that they can no longer be overridden in child classes. The same applies when constants are defined as final in an abstract classes, or interface; they can’t be overridden by classes extending that abstract or implementing that interface. So class and interface constants can now truly become constant.”

Constant Constants. Finally! (On the inconstancy of constants)

 

DerEuroMark wonders “if you use open-source software, you might wonder, why all those changes and why you should migrate up to the next major versions.”

Keeping up with framework upgrade

 

Wouter de Jong writes: “Every now and then, there seems to be a lot of fuss in the PHP community about deprecations. In these discussions, deprecations are often discussed as if they are fatal errors. I think that is very wrong. Let’s reduce our expectations of deprecations. It’ll make everyone’s lives much less stressful.”

Deprecations are not like E_ERROR, E_WARNING, and E_NOTICE

 

I ran across an impressive looking new book on PHP. If you have seen it before, this edition is updated for version 8.1.

Front Line PHP: Building modern applications with PHP 8.1.

 

Front Line PHP also has a PHP Cheat Sheet.

Modern PHP Cheat Sheet: A to-the-point summary of all awesome PHP features

 

We shared several posts from Samuel Fontebasso in the last communique. His series on PHP, Nginx, and Docker continues with this one.

PHP+Nginx with Docker in production - Part 3: Docker Compose for your local environment

 

Bulletproof PHP writes: “Rather than yet another generic overview of the language or a point-by-point refutation of the things people say is wrong with it, what I want this post to be more than anything else is kind of a comprehensive list of ✨good things about PHP.✨ “

Yes, PHP is Worth Learning/Using in $CURRENT_YEAR

 

Along those lines this article from Raft Labs has some great resources for learning PHP.

PHP in 2021? A Big Yes!

 

Behzad Fazelasl says: ”Writing tests is inseparable from programming. If you want to be sure about deploying your code without unexpected failure, writing tests is going to be of assistance. The more tests you write, the more test coverage you get on your code which leads to more confidence.

But there is a big problem. There should be a sort of measurement to make sure enough tests have been written.”

PHPUnit Test Coverage Report

 

Matthew Setter asks why deploy with Docker, especially when there are so many other deployment options?

Deploy PHP Apps with Docker - The Essentials

 

Peter Packet didn’t pick any peppers but he did author this interesting post.

Effectively using Facades and Hexagonal Architecture to separate bounded contexts

 

Here is an article about another PHP Templating language.

EasyTpl — Simple and fast template engine for PHP

 

 

Last Week

 

The Voices of the Elephant podcast spoke with Ben Ramsey, the Release Manager for PHP 8.1.

Interview with Ben Ramsey

Code logo

Other

 

The Guardian asks a simple but extremely important question.

Can big tech ever be reined in?

 

Toptal also has a question. One I’ve asked myself.

Agile, Scrum, and Kanban: What the Heck Do These Words Really Mean?

 

We have shared several posts from Mateusz Cholewka. He continues his series on Docker here.

Read this before you start using the multistage builds for your docker images

 

Here’s a useful tool for anyone who’s making code tutorials.

How to create long screen recordings using OBS Studio

 

Torque Mag has a post on helpful tools as well. Mobile Atom Code and Symfony Station use a variety of these and the list is legit.

28 Best Tools for Freelancers (2021): Keep Your Business on Track

 

I ran across this on freeCodeCamp and although it’s from February it’s a good resource for working with APIs.

API Cheat Sheet – What is an API, How it Works, and How to Choose the Right API Testing Tools

 

We have been sharing Wouter Carabain’s series on using Symfony and React together. Here’s the latest article.

Setting up React Native (Part 5)

 

ReadWrite wants to predict: 

What the Future of Programming Languages Looks Like

 

DeliciousBrains tells us how to:

Create Your Own SSL Certificate Authority for Local HTTPS Development

 

And CSS-Tricks shows us how to:

Create the perfect commit in git

 

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. 

 

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!

 

Visit our Communiqué Library

You can find a vast array of curated evergreen content.

 

Author

Reuben Walker photo

 

Reuben Walker

Founder
Symfony Station

 

 

 


 

Symfony Station Communique - 19 November 2021

A white paragraph.

 


 

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!

 

Visit our Communiqué Library

You can find a vast array of curated evergreen content.

 

Author

Reuben Walker photo

 

Reuben Walker

Founder
Symfony Station

 

 

 


 

Subscribe to Agile

 

 

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