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

Symfony Station Communique - 24 December 2021

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

Happy Holidays graphic

 

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

And more importantly, we want to wish you a Happy Holiday Season!

Thanks to Javier Eguiluz and Symfony for sharing our last communique and our article on how Symfony Station was built 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

 

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


Highlight -> "This week, Symfony wrapped up its 2021 conferences and announced a new SymfonyWorld Online 2022 conference for June 14-17. In addition, SymfonyCorp, the company behind the Symfony project, announced that it's hiring new developers from anywhere in the world to work on in-house projects."

A Week of Symfony #781 (13-19 December 2021)

 

The Blackfire PHP SDK now provides a seamless integration to monitor your CLI commands.

Symfony Commands Monitoring
 

 

Featured Item graphic

 

I considered the profile of Matt Mullenweg below for our featured item but decided on the following.

We all know PHP is not dying. However, its popularity is slowly decreasing. Which is not a disaster by the way.

This post is a level-headed look at why PHP isn’t being used for as many purposes as it once was.

Why is PHP’s Popularity Decreasing?

 

This Week

 

Alex Daubois has yet another post for us. This week he explains the Symfony 6 Security Component.

Symfony’s Security Key Concepts in 5 minutes


William Pinaud provides this review of SymfonyWorld Online Winter 2021

A quick REX on SymfonyWorld Online 2021 — Winter Edition


Dariusz Włodarczyk explores breaking your Symfony project into smaller pieces when you have limited local computing resources.

Splitting a Symfony project into chunks


StrangeBuzz shows you how to organize your Symfony project tests. Check all the available test types and create consistent and robust test suites.

Organizing your Symfony project tests


Drupal announced that version 9.3 is available.

Drupal 9.3.0 is available


Vishwa Chikate covers “alternative approaches which can be introduced to handle API validation in Drupal 8/9 or any PHP-based project, thereby further reducing the need to write needless custom code to validate the HTTP request.”

Drupal 8/9: Writing validation for RESTful API’s the simple way

 

And Nevin Katz shows us how to set up local development for Drupal with Lando.

How to Set up a Local Drupal Website With Lando


The following post also looks at breaking large projects into smaller pieces. It promotes the Divide and Conquer approach in Spanish.

Divide y vencerás: Parte 1

 

Last Week

 

Prestaconcepts looks at the history of Symfony versions in this post in French.

Symfony : Une genèse majeure

 

This Month

 

Zlato Spajic writes HautelookAliceBundle is a tool you can use to effortlessly seed test data for your development environment. The bundle utilizes a PHP library called Faker which generates the test data for you.

How to Seed Data with Symfony Hautelook Fixtures

 

Timeless

 

If you ever need to send someone an explanation of what Symfony is, this post's for you.

Symfony framework explained

 

I have been sharing many posts from Akashic Seer's blog over the past months. These two catch us up.

Working with your app's local image assets in Symfony 5+

How to quickly create a Symfony 5+ controller


We also continue to share the treasure trove of Symfony posts on Twilio’s blog.

Verifying Twilio API Requests in Symfony 5

Implement Two-Factor Authentication with Symfony and Twilio's Authy App and API

PHP logo

PHP

 

This Week

 

Doeke Norg is back with a look at Heaps in PHP. He explores the world of Heaps, the data structure. Because some knowledge of Trees is useful, he suggests you read his Trees and Tree Traversal in PHP article before diving into this one.

Heaps explained in PHP


DeliciousBrains wants you to “imagine a world where your IDE or code editor detected problems before you even ran the code.”

Get Started with PHP Static Code Analysis



Anders Björkland continues his month-long series of PHP Christmas posts with one on MVC.

Have Yourself a Model View Controller



Platform.sh was a gracious sponsor of the recent SymfonyWorld Online. They now support PHP 8.1 on the platform.

PHP 8.1 lays new ground on Platform.sh


Italo Baeza Cabrera notes that “the PSR-3 implementation describes eight log levels. You read that right. In order of “severity”: Emergency, Alert, Critical, Error, Warning, Notice, Info and Debug.”

PHP: Making Sense of the 8 Log Levels


Smaine Milianni provides a reminder piece on PHP constants.

Use PHP Class constants


Nicholas Valverde writes “Working in Docker feels like you are working in virtual machines, so it can be a bit confusing at first glance, because you don’t have anything installed on your local machine except Docker itself.

Luckily, PhpStorm has us covered; it provides a tight integration with Docker!”

PhPStorm loves Docker

 

And speaking of PhP Storm:

PhpStorm 2021.2.4 is released

 

Michał Romańczuk posted a review of SOLID PHP principles. It's always a good time to keep these in mind.

SOLID principles in PHP

 

Timeless

 

Ivo Lukač has a useful article exploring options for headless php website development.

Headless possibilities for PHP

Code logo

Other

 

The Log4Shell fallout continues, and we can all learn things from the fiasco (especially about backward compatibility). Venture Beat takes a look back at Heartbleed and compares it to Log4.

What Log4Shell teaches us about opensource security


Gizmodo looks at the frantic efforts to patch for the vulnerabilities.

Log4j Vulnerabilities Are Piling Up as Companies Scramble to Patch


Enough of the negative. Now for the positive. The following article looks at how Matt Mullenweg, Automattic, and WordPress are building a more open internet. Can he play the hero to big tech villains?

Can Matt Mullenweg save the internet?


Joshua Otwell writes: “I sometimes forget there is a difference in counting the number of rows in a MySQL table versus counting the number of column values for those rows. Because, as you will see, there is a difference.”

MySQL COUNT(*) and COUNT(column or expression) — Differences


For those of you using Tailwind CSS here is a handy font size reference.

Tailwind Size Reference. Lines with a blue background are official Tailwind sizes.

 

Have you published or seen something related to Symfony or PHP that we missed? If so, just contact us.

That's it for this week. I look forward to sharing next week's Symfony and PHP news with you on Friday. Please follow us on Twitter at @symfonfystation. And sign up for our newsletter below. You will get our communiques a day early on Thursdays!

 

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 - 17 December 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.

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

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

 

Symfony

 

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

Highlight -> "This week, Symfony 5.4.1 and 6.0.1 maintenance versions were released. In addition, the SymfonyWorld 2021 Winter edition conference too place with great success. During the conference, Symfony UX 2.0 was released to add Stimulus 3 support and we introduced an automated way to create and manage Docker containers in Symfony applications. Lastly, the Symfony Demo application released its new version compatible with Symfony 6.0."

A Week of Symfony #780 (6-12 December 2021)


SymfonyWorld Winter 2021 featured some great presentations including an overview of Symfony 6.

The new version is the culmination of 2 years of hard work by the community. It embeds all the new features added during the development of Symfony 5, but also removes all the features deprecated during the same period.

With PHP 8.0 as the minimum supported version, Symfony 6 is also an opportunity to embrace new language features.

If you attended SymfonyWorld Winter 2021 you can watch the presentation replay by logging into Symfony Connect and using the link below.

Everything about Symfony 6 Presentation from SymfonyWorld.


Launched in 2018, SymfonyCorp is a company aiming at promoting the Symfony Open-Source framework by creating commercial products around it to ensure its sustainability. The SymfonyCorp team manages symfony.com, the Symfony conferences, the Symfony certification, SymfonyCloud, SymfonyInsight, SymfonyConnect, ...

Symfony announced that SymfonyCorp is hiring remote Symfony developers to work on its internal products and projects.

SymfonyCorp is hiring!



In news I’m excited about Symfony had this announcement.

“Over the years, Docker has become the de facto standard for building, shipping and running server applications. Docker allows you to store all the instructions needed to build the environment that will host your software next to the code, in the repository of the project.

After 6 years of teamwork, Symfony and API Platform now include an industry-first set of tools designed to automatically create, manage and run the Docker containers needed for your applications.

Introducing Docker support

 

The Symfony Demo application was introduced in 2015 as a reference application to show how to develop Symfony applications following the recommended best practices. This demo application is useful to:

  • Learn Symfony

  • Teach Symfony

  • Test new features

  • Benchmark Symfony and PHP

It’s been updated for Symfony 6.

Symfony Demo 2.0 Introduces Support for Symfony 6.0


Symfony Live is back for you French speakers.

The SymfonyLive is back in Paris on April 7 and 8, 2022! We have the great pleasure to meet you physically at SymfonyLive Paris 2022! After a year of online conferences, we are delighted to be able to once again find the French-speaking community of Symfony at the Cité Internationale Universitaire in Paris.

SymfonyLive Paris 2022: le retour!

 

And they also announced the SymfonyWorld 2022 Summer Edition.

SymfonyWorld Online 2022 Summer Edition conference is announced!

 

Symfony also reviewed all the SymfonyWorld and Symfony Live conferences.

Online SymfonyTour 2021 was a blast!

 

Featured Item graphic

Featured Item

 

PHP.Watch wrote this heartfelt post and I’m sure most of us share its sentiments.

PHP powers over 75% of the web, and its success is attributed to thousands of PHP contributors, framework authors, PHP tooling developers, IDE and other tooling developers, and the rest of the PHP community. 

One of the most impactful contributors to PHP is Nikita Popov. Over the 25 years of PHP's history, there has never been more acceleration in new features, language clean-up, and up-keep than the past few years, and Nikita was behind most of the important changes in PHP before he recently stepped back from the project.

 

Thank you, Nikita!

 

This Week


Alex Daubois continues his impressive output. This week he looks at HTTP in Symfony.

The love story between Symfony and HTTP


Via SymfonyCasts: “Today marks 10 years of SymfonyCasts (formerly KnpUniversity)! How that is possible, I have no idea! But, I am quite certain it has something to do with all of you awesome devs - thank you for making this such a fun project to work on!” They continue to explore Symfony security.

This week on SymfonyCasts


Hanane Kacemi looks at Symfony, Docker, and Doctrine ORM.

Symfony and Database

Symfony & Database-Part 2


Anthony Gilbert also had two posts on Symfony and Docker.

Setting up a Symfony application using Docker.

How to set up Symfony & then Dockerize it.


Drupal announced that:

Various type hints have been added for Symfony subclasses


Speaking of Drupal, specbee notes that “Twig tweak module is a huge time saver for Drupal developers working with advanced twig templates. It offers several useful functions and filters that can ease the developer’s job. Developers can also write well formatted code which is more comprehensible.”

Functions and filters to get you started with Twig Tweak in Drupal 9 (with examples)

 

Last Week

 

Christian Kolb wrote “Login throttling is possible with Symfony out of the box since 5.2. But the default configuration doesn't work as soon as you have multiple server instances.
Why? Because it stores the relevant data on the local filesystem.
So all we need to do is to exchange the storage layer with a shared one. How to do this?”

Login throttling with Symfony and multiple server instances

 

Timeless

 

As you by now, I discover Akashic Seer's blog last month, which has Symfony-related posts. Here are a few more.

Symfony 5+ Twig templates don’t forget to call the parent

How to secure individual Symfony AJAX API routes without using API Platform


We also continue to share the treasure trove of Symfony posts on Twilio’s blog.

Create One-Time Passwords in PHP with Symfony and Twilio's Verify API

Envoyer des rappels SMS en PHP depuis votre app Symfony

 

PHP logo

PHP


This Week

 

Open Swoole IDE Helper for v4.8.1 are released with enhanced type hinting. Developers can do code autocompletion within the IDE like VScode or PHPStorm.

Open Swoole IDE Helper released with enhanced type hinting for IDE


The Duckly blog recommends its best plugins for JetBrains’ PhpStorm IDE.

23 Best PhpStorm plugins for 2022


Sequally shows us how to create an PHP 8.1, NGINX and MySQL development environment with Docker.

Docker with PHP 8.1, NGINX, and MySQL


Speaking of NGINX, we recently ran across the following via DeliciousBrain’s newsletter.

“DigitalOcean has a great online tool called NGINXConfig. It comes with a bunch of presets, from standard PHP applications to content management systems like WordPress and Joomla, as well as other popular web frameworks, including Django and Node.js. You can also configure practically everything you might need.”

Quick & Easy Nginx Configuration

 

Cees-Jan Kiewiet writes “PHP 8.1 is out and the hip new feature for non-blocking and asynchronous programming in PHP are fibers. In this post we're going to explore them and see how we at ReactPHP will start with them at the edge.”

async & await at the edge with ReactPHP
 


The latest edition of PHP Architect magazine is out. Get yours today.

The Zen of Mindful Programming

 

One Java developer came back to PHP after seven years. He was quite surprised.

Trying out PHP after 7 years

Code logo

Other


The Guardian reports “The flaw, dubbed “Log4Shell”, may be the worst computer vulnerability discovered in years. It was uncovered in an open-source logging tool, Log4j, that is ubiquitous in cloud servers and enterprise software used across the industry and the government. Unless it is fixed, it grants criminals, spies and programming novices alike, easy access to internal networks where they can loot valuable data, plant malware, erase crucial information and much more.”

Recently uncovered software flaw ‘most critical vulnerability of the last decade’


NPR reports “When programmers write code, they often rely on some extremely common and freely available bits of software — like using building blocks — to do common tasks. In this case, the vulnerable piece of software was something called Log4j, which is used in the programming language Java and essentially creates a log of activity on a device, copying down everything that happens as programs run.”

Companies scramble to defend against newly discovered 'Log4j' digital flaw


David Crawshaw writes “there is more than enough written on the mechanics of and mitigations for the recent severe RCE in log4j. On prevention, this is the most interesting widely-reshared insight I have seen:

  • Log4j maintainers have been working sleeplessly on mitigation measures; fixes, docs, CVE, replies to inquiries, etc.
  • Yet nothing is stopping people to bash us, for work we aren't paid for, for a feature we all dislike yet needed to keep due to backward compatibility concerns.
  • This is making the rounds because highly-profitable companies are using infrastructure they do not pay for.

It is the second statement in this tweet that is worthy of attention: the maintainers of log4j would have loved to remove this bad feature long ago, but could not because of the backwards compatibility promises they are held to.”

log4j: between a rock and a hard place


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

 

 

 


 

Subscribe to Log4j

 

 

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