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

Symfony Station Communiqué - 8 April 2022

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

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.

Again, we cover the tech aspects of the war crimes going on in Ukraine and how you can help.

Take your time and enjoy the items most valuable to you.

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

Please note that links will open in a new browser window. My opinions will be in bold.

 

Symfony

 

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

Highlight -> “This week, Symfony 4.4.40, 5.4.7, and 6.0.7 maintenance versions were released. Meanwhile, the upcoming Symfony 6.1 version added new features such as a Serializer profiler panel and a simpler bundle/extension configuration. Lastly, the SymfonyLive Paris 2022 conference will take place next week.”

A Week of Symfony #796 (28 March - 3 April 2022)

 

Javier Eguiluz previews an upcoming feature of the 6.1 update.

New in Symfony 6.1: HtmlSanitizer Component

 

SymfonyCasts continues their free look at Symfony 6 and Easy Admin paid courses.

This week on SymfonyCasts

 

Platform. sh announced “We’re excited to announce that Platform.sh now offers OpenSearch as a service available and included on all plans. OpenSearch is a distributed RESTful search and analytics engine you can use for log analytics, a search backend, clickstream analytics, and more.

With the recent move by ElasticSearch to switch to a licensing model, it was important for us to propose a strong open-source alternative. And OpenSearch is completely open-source, so you could run and manage it on your own. But if you add it to a Platform.sh project as a service, all of the infrastructure is taken care of. All you have to take care of is your data: indexing it and retrieving it.”

OpenSearch is here

 

We missed this last week. Blackfire Monitoring now integrates with API-Platform.

API-Platform Support

 

Featured Item

 

https://symfonystation.com/sites/default/files/inline-images/Featured-Item_1_0.png

 

Democracies are far from perfect. However, while sometimes chaotic and prone to taking one step back for every two forward, they are the best governments in the world. Currently, they are in a growing battle with autocracies ranging from tyrannical to criminal for the future of mankind.

The Copenhagen Pledge puts forward a vision for the digital age, based on democratic values and human rights. It serves as the overall value framework for the Tech for Democracy initiative.

Take and sign the pledge

 

Its Action Coalitions target specific issues at the intersection of tech, democracy, and human rights. Coalition partners engage in concrete activities and deliver concrete solutions in line with the Copenhagen Pledge.

Action Coalitions

 

The Action Programme contains recommendations ****on how to transform the Copenhagen Pledge into action and charts a path for various areas, such as how to truly improve digital responsibility and mobilization.

Action Programme

 

Find the full Action Programme and civil society´s 8 recommendations here.

 

Please get involved today. You have to have open societies to have open-source.

 

This Week

 

WeLoveDevs says, “Ce questionnaire, d'environ 10 minutes, est proposé par Smaïne Miliani ainsi que la communauté WeLoveDevs.com (entreprises, experts, formateurs, indépendants) pour aider les développeurs à auto-évaluer leurs connaissances.” If you are fluent in French, take this test.

Test Symfony 6

 

Mohamad Eldhemy explores:

The What-Why-How Guide of PHP code quality tools

 

Sriram webnexs asks:

What Is the Magento Marketplace Extension and How Does It Work?

 

tangled net writes “Grav CMS allows developers to give third parties the ability to manage their (structured) content in a very elegant and flexible way. At the same time, there are few restrictions on how this content ends up displayed on the website — as long as the developer knows what he is doing.”

Grav CMS — A way to pass URL parameters in a frontend form

 

Unearthed says, “we use the AWS service Cognito to issue JWTs to clients during authentication. From there, the JWT is exchanged with whichever services the user is interacting with in order to validate their identity. This is helpful when building out a service graph, since each JWT can describe an authenticated users session without any direct dependency on a user service.

It's worth mentioning, if you are using Symfony, there is a Symfony Bundle which will make some of the factories and services used in this blog post available from the container. In our application we decided instantiating these dependencies directly was preferable.”

Decoding and validating AWS Cognito JWTs with PHP

 

#! Code has this very useful article for us:

Drupal 9: Getting A Good Score In Google PageSpeed Insights

 

Droptica notes “In this article, we’ll present what standards are used to create Drupal projects. We will show you the basic aspects that are worth paying attention to and the tools that make work easier.”

What are Drupal Coding Standards, and How to Use Them in Your Daily Work?

 

Arslan Ijaz looks at:

Amazing UX design using Drupal

 

Last Month

Matt Robinson shares:

What to Do With Your Drupal 7 Website

 

Christian Kolb has two articles for us:

Using CQRS in Symfony

Using id value objects for better readability and type safety

 

PHP logo

PHP

 

This week

 

The April edition of php[architect] is out.

php[architect]

 

Tomasz Dobrowolski shows us:

Why You Should Limit Your Use of Comments to Make Cleaner Code as a Developer

 

Study Section notes “A session is a way to continue information across different web pages to recognize users as they traverse a site or app. There is absolutely no way a server could remember a specific user between multiple requests, which is why we call the HTTP protocol a stateless protocol.”

Explaining this pattern with example in PHP — Server Session State

 

Farhan Tanvir shares “Here are 7 VSCode extensions which will help you to make the best use of VScode if you are a PHP developer.”

7 useful VSCode extensions for a PHP developer

 

Yacine Touati discusses:

Setting up Dockerized cron jobs: For example, using PHP and MySQL

 

The one and only Brent is back with “You've probably used the strategy pattern before: a behavioral pattern that enables selecting an algorithm at runtime.

Let's consider a classic example: the user provides some input either in the form of XML, JSON or an array; and we want that input to be parsed to a pretty JSON string.”

Dynamic Strategies

 

Jordi Bassaganas shares his:

Titanic Truth About JavaScript, TypeScript, and PHP

 

Hicham Ben Kachoud continues his SOLID series with the I:

Interface Segregation Principle

 

Jarek writes “Generic types are templates which allow us to write code without specifying a particular type of data on which it will work. Thanks to them, we avoid redundancy and the objects operate on the previously declared types. A good example is collections of various types. If we want to be sure that a collection consists of a given data type, we can either create a separate class to store each type, use various types of assertions, or just use generic types.”

How To Start Using Generic Types In PHP

 

Last Month

 

Andreas Moller notes “The chances are that you are already aware of the concept of named constructors. If not, take a look at Matthias Verraes' excellent article Named Constructors in PHP.

When it comes to consistently naming constructors, I currently apply the following rules for different types of objects.

  • services
  • exceptions
  • entities
  • value objects”

Naming constructors

 

Incredibly there were two articles on this last month.

 

Stefan Priebsch writes “Despite a greatly improved type system in versions 7 and 8, PHP does not support constructor overloading. If an object has to be created in different ways, so-called named constructors are used. Are there any best practices for naming them?”

How do you name constructors?

Code logo

Other

 

Please visit our Support Ukraine page to learn how you can help kick Russia out of Ukraine (eventually).

 

The cyber response to Russia’s War Crimes

 

CNBC reports “Alex Iskold, a tech entrepreneur and start-up investor, revived the 1K Project to provide direct relief to Ukrainian families impacted by the war.”

A Ukrainian Techie Combined ‘Code and People' to Raise $3.5 Million So Far for Families Back Home

 

TechCrunch reports:

Twitter limits reach for Russian government accounts and bans most POW imagery

 

Fortune reports “Hacker collective Anonymous announced on Twitter that it successfully breached and leaked the personal data of 120,000 Russian soldiers.

"All soldiers participating in the invasion of Ukraine should be subjected to a war crime tribunal," Anonymous said in the message.

The leak included personal information like dates of birth, addresses, passport numbers, and unit affiliation.

Anonymous takes revenge on Putin’s brutal Ukraine invasion by leaking the personal data of 120,000 Russian soldiers

After what we have seen this week, IMHO these soldiers are legitimate targets for hacktivism.

 

NBC reports “Distributed Denial of Secrets, is best known for curating, publishing, and promoting giant caches of files from a variety of sources, including U.S. police departments, the conservative social media platform Gab and the far-right Oathkeepers, a prominent group involved in the Jan. 6 riot.

But since Russia invaded Ukraine, Best and her colleagues have been inundated with files that hacktivists say they’ve stolen from Russian banks, energy companies, government agencies, and media companies. For weeks, the group has scrambled to translate, verify, format, and upload files that they can assess are legitimate and new, with the caveat that they usually haven’t gone through every single file to assess if it hasn’t been altered or planted with malicious software.”

Hackers flood the internet with what they say are Russian companies' files

 

The AP reports “The Biden administration has charged a Russian oligarch linked to the Kremlin with violating U.S. government sanctions, and disrupted a cybercrime operation that was launched by a Russian military intelligence agency, officials said Wednesday.”

US charges Russian oligarch, dismantles cybercrime operation

 

The New York Times reports that the:

U.S. Says It Secretly Removed Malware Worldwide, Pre-empting Russian Cyberattacks

 

Politico reports that “The firms that helped document the Russian invasion of Ukraine are now finding imagery of atrocities.”

Satellite companies join the hunt for Russian war crimes

 

Cloudflare writes “Following Russia’s unjustified and tragic invasion of Ukraine in late February, the world has watched closely as Russian troops attempted to advance across Ukraine, only to be resisted and repelled by the Ukrainian people. Similarly, we’ve seen a significant amount of cyber attack activity in the region. We continue to work to protect an increasing number of Ukrainian government, media, financial, and nonprofit websites, and we protected the Ukrainian top-level domain (.ua) to help keep Ukraine’s presence on the Internet operational.

At the same time, we’ve closely watched the significant and unprecedented activity on the Internet in Russia. The Russian government has taken steps to tighten its control over both the technical components and the content of the Russian Internet. For their part, the people in Russia are doing something very different. They have been adopting tools to maintain access to the global Internet, and they have been seeking out non-Russian media sources. This blog post outlines what we’ve observed.”

What Cloudflare is doing to keep the Open Internet flowing into Russia and keep attacks from getting out

 

On a related note, NPR asks “What do Russians know about what's happening in Ukraine? Well, it depends in large part on what independent media they're able to access - access the Russian government has been forcefully trying to restrict. So many Russians have been relying on VPNs - virtual private networks - that obscure their identity online and allow them to access blocked websites.”

Some Russians are skirting website restrictions through VPNs. What are they?

 

Radio Free Europe reports “Western governments imposed crushing sanctions on Russia for its unprovoked attack and foreign companies began pulling out of the country, setting its economy reeling and making investments in the technology sector unattractive. Three days later, Krupnik froze his project, and on March 9 he fled to Turkey, seeing a bleak future back home.”

'A Nail In The Coffin': Tech Workers Are Fleeing Russia and The Impact Will Last For Years

 

The Evil Empire Strikes Back

 

TechCrunch reports “The mass exodus of IT specialists has been met with hostility from Moscow.”

Tech workers describe detentions and interrogations as they flee Russia

If you are in Russian IT and want to escape the new Iron Curtain, we suggest you get the fuck out now. If not enjoy the Gulag.

 

CBS reports “A group of hackers with ties to the Belarusian government broke into the Facebook accounts of Ukrainian military officials and posted videos calling on the Ukrainian army to surrender.

Meta's head of security policy, Nathaniel Gliecher, said the videos posted on the accounts of Ukrainian military officials were not seen by users and were taken down by the platform before it could be shared with others.”

Russian-backed hackers broke into Facebook accounts of Ukrainian military officials

 

The Jerusalem Post reports “China launched a massive cyber operation against the Ukrainian military and its nuclear facilities before Russia began its invasion, according to UK intelligence reports obtained by The Times.

The British reports were backed up by Ukraine's national security service, the SBU, which claimed China coordinated thousands of cyberattacks and hacking attempts on official Ukrainian government sites.”

China carried out massive cyberattack operation on Ukraine - report

 

The New York Times notes:

Bristling against the West, China rallies domestic sympathy for Russia

 

The Guardian reports “Putin may be ‘playing a long game’ on the cyber front, with attacks underway but not fully understood.”

Russia’s slow cyberwar in Ukraine begins to escalate, experts say

 

The Associated Press reports “Though Russia is the country that invaded its neighbor Ukraine, the Kremlin’s version relentlessly warns social media users across Latin America that the U.S. is the bigger problem. “Never forget who is the real threat to the world,” reads a headline, translated here from Spanish. The article, originally posted in late February on Twitter by RT en Español, is intended for an audience half a world away from the fighting in Kyiv and Mariupol.”

Russia aims Ukraine disinformation at Spanish speakers

 

Cybersecurity

 

ZDNet reports “The US Federal Government's latest attempt to create a centralized office for cybersecurity within a major agency will also be tasked with exploring economic and policy concerns within cyberspace.”

US Bureau of Cyberspace and Digital Policy officially commences operations

 

TechRepublic has this discouraging bit of news:

Developers do not view application security as a top priority, study finds

 

They also have:

5 tools to make encryption key management easier

 

GitHub shows us:

How Dependabot empowers you to keep your projects secure

They also have:

Prevent the introduction of known vulnerabilities into your code

 

More

 

The NewStack shares this from Caleb Porzion “It was at this point that he came up with the idea for Alpine.js, the minimalist framework that puts JavaScript behavior directly in your markup, which would offer some of the interactivity of Vue.js without any of the complexity.

“Alpine is the modern jQuery, that’s my vision for it,” Porzio explained in an interview. “When I started in web development, jQuery was what you did to sprinkle in stuff on your front end. Your whole front end wasn’t driven by a frontend framework, it was driven by something like Rails. I still like to write web apps that way. I’ve come full circle, I did the whole SPA thing and there’s nothing wrong with it, per se, but for a lot of use cases it’s just way too much complexity.”

Alpine.js Brings JavaScript Interactivity without Complexity to HTML

 

Infoworld notes “SQLite is embedded everywhere. Will Postgres follow suit?”

Postgres everywhere

 

Docker discusses:

Getting Started with Docker Desktop

They also have:

CTO Chat: Overcoming the Developer Experience Gap (feat. RedMonk & Flow.io)

 

VSCode writes ”The Visual Studio Code team has used this insight as the heart of their research over the years: if we can reduce time spent on overhead, like reading about environment setup, then we can increase productivity time. We have a vision where developers don't have to keep fighting the same battles over and over again. This means a consistent development setup that can handle the never-ending churn of version upgrades, configuration changes, and hardware refreshes.

But what does the path look like to get us there? Let's examine the journey to increase developer productivity that has led us from local development to container-based development, to the cloud.”

Using Containers to move from Local to Remote Development

 

TechCrunch reports “At its Team ’22 conference, Atlassian announced the launch of Atlas, a new service for cross-functional team updates it previously offered as a beta under the name “Team Central.” The service is meant to be a central repository for what teams are working on — with those updates limited to a Twitter-like 280 characters.”

Atlassian launches Atlas to improve team alignment

 

Sule-Balogun Olanrewaju Ganiu says, “This article will teach you an alternative approach to testing client APIs using Thunder Client, an open-source extension available on  VS Code marketplace.”

Thunder Client – An Alternative Way to Test Restful APIs

 

That's it for this week. Thanks for making it to the end of another edition. I look forward to sharing next week's Symfony and PHP news with you on Friday.

 

Please share this post. :) Also, 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 on our Support Ukraine page. Or if you know of one, get in touch.

 

Keep going 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 - 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 - 15 October 2021

 


 

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 the team at Symfony's blog for featuring our previous Communique on Sunday!

My opinions, if I present any, will be in bold.

Symfony Logo

Symfony

 

This week

 

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

Highlight -> “This week, Symfony continued adding tweaks to fix compatibility with the future PHP 8.1 version. Meanwhile, the upcoming Symfony 5.4 version merged some new features such as basic support for language negotiation and a CssColor constraint to validate that a given value matches any of the formats available to define CSS colors.”

A Week of Symfony #771 (4-10 October, 2021)

They announced the upcoming SymfonyWorld Online 2021 Winter Edition conference (December 9-10, 2021) will offer two days of online workshops. Seats are limited. Book your seats soon!

Announcing the Workshops of SymfonyWorld Online 2021 Winter Conference

And they also announced that the SymfonyWorld Online 2021 Winter Edition conference (December 9-10, 2021) will take place a few days after the release of Symfony 6. That's why it's a great opportunity to learn all about the latest Symfony 6 features.

First selected speakers at SymfonyWorld 2021 Online 2021 Winter Conference

Last but not least the Symfony Security Documentation has been updated.

SymfonyCasts looks at Doctrine Relations and using Foundry.

This week on SymfonyCasts

Matthias Noback observes that “It's an extremely common problem in legacy code bases: a new way of doing things was introduced before the team decided on a way to get the old thing out.” Regarding this code, he asks:

Do you have an exit strategy?

Do you have a Symfony/PHP application which needs to connect to AWS and use some of its services (S3, Secrets Manager, etc.)? Do you want to avoid pushing credentials to your Git repository or revealing them to any third party (deployment, testing, or code review tools). If so, then follow this guide.

Safe and simple AWS credential management for your Symfony/PHP application

This month

 

Mon Code examines mitigating data breaches. As you can't be confident in your security, encrypted data is an excellent way to reduce impact by making data unusable. There are some existing libraries and bundles to use with Symfony and Doctrine that allow you to encrypt and decrypt data on the fly with your database. 

Secure your data using encryption in PHP

Blackfire was glad to announce the release of their Consumers Monitoring feature, expanding even further the scale of the Continuous Observability available to its customers. Consumers, background jobs, and CLI commands can now be monitored.

Introducing the Consumers Monitoring

Roberto Manchado says testing a listener using Symfony events is easy. He shows us how much in this article.

How to test your listener events on Symfony with PHPUnit

Timeless

 

We are building out the permanent Symfony Station website with Drupal and ran across this article during our research.

Why Symfony Is Perfect For Drupal Developers

This article is in French but it is a good review of the developer experience for Symfony and Laravel developers.

Symfony et Laravel : Retours d’expérience de développeurs PHP

Cet l’article est aussi en francais et looks at Doctrine filters.

Symfony — Les Filtres doctrines

PHP Elephant logo

PHP

This week

On GitConnected, Travis Weston asks what does goto have to do with loops?

Loops are just conditionals that repeat

Rector shows you how to upgrade your annotations to attributes with their product.

How to Upgrade Annotations to Attributes

Brent from Stitcher.io notes that PHP 8.1 adds a feature that might seem like a small detail, but one that I think will have a significant day-by-day impact on many people. So what's this "new in initializers RFC" thing? 

PHP 8.1: new in initializers

Nikita Popov describes the concepts behind OPcache in this thorough article.

How Opcache works

A 10-day newsletter from Brent Roose explores static analysis.

The Road to PHP: Static Analysis

This Month

 

In a new ebook Front Line PHP looks at building modern applications with PHP 8.1.

Building modern applications with PHP 8.1

On Dev.to Alua TYC mentions that PHP implicit casting is prevalent. But before he examined what it means, he looked at why it happens.

A detailed look into PHP type casting

Tomas Votruba explains that Coding Standard tools are very fast in processing a single file. However, the performance hiccup is in the number of processed files. If you have multiple files, the 2nd file cannot start until the 1st file finishes.

Fortunately, this architecture has a huge potential in performance improvement once we add a parallel run.

Introducing up-to a 16 Times Faster Easy Coding Standard

This Year

 

In a 2nd article, Tomas Votruba asks if you enabled parallel run in PHPStan and ECS? You may know the speed gain is brutal. But, on the other hand, there are few hidden costs in developer experience.

Hidden Productivity Costs of Parallel Run

Code logo

Other

The Next Web had an interesting article about Natural Language Processing and its evolution to Natural Language Coding.

Programming in ‘natural’ language is coming sooner than you think

Mind Matters News says equating code debt with monetary debt can lead to strategic technology mistakes.

Code Debt is not Real Debt

McKinsey has a new report looking at which technology trends will affect our future the most. The World Economic Forum has an overview.

These are the top 10 tech trends that will shape the coming decade, according to McKinsey

That's it for this week. I look forward to sharing next week's Symfony and PHP news with you on Friday. 

Please share this post. :)

Happy coding Symfonistas!

Author

Reuben Walker photo

 

Reuben Walker

Founder
Symfony Station

 

 

 


 

Symfony Station Communique - 24 September 2021

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

Welcome to this week's Symfony Station Communique. It 's a weekly review of the most valuable and essential news in the Symfony and PHP development communities.

Thanks to the team at Symfony's blog for featuring our previous Communique on Sunday!

We are loading up on articles this week. We are going to Bavaria; sorry strike that, Cape Cod to celebrate Octoberfest and may not have time for long newsletters in the next two weeks. ;)

*My opinions, if I present any, will be in bold.

Symfony Logo

Symfony

This week

Let's start as we always will with the official weekly post of everything new from Symfony for last week.

Highlight - >

" This week, Symfony continued preparing the upgrade to a fully-typed codebase, including the release of a command utility to patch type declarations in your own code and a blog post explaining how to prepare your apps and bundles for Symfony 6. Finally, the Call for Papers for the upcoming SymfonyWorld 2021 conference will close next week. "

A Week of Symfony #768 (13-19 September 2021)

Continuing from the Symfony team, it's time to start preparing for Symfony 6.

Preparing Your Apps and Bundles for Symfony 6

Wouter J has more details about the Symfony 6 transition regarding PHP8 and Native Typing.

Symfony 6: PHP 8 Native Types & Why we Need YOU

The news also came out that Symfony Flex is Going Serverless.

Symfony Flex is Going Serverless

The tutorials featured in SymfonyCasts this week cover Doctrine and Foundry.

This week in Symfony Casts.

Here's a look at authenticating user roles and permissions with Vue.js & Symfony.

Vue.js & Symfony — roles authentication

Want to know how Doctrine, Symfony, AWS, and MySQL can play nice together?

Configure Doctrine in Symfony to use AWS Secret values as MySQL connection parameters

And here is a valuable resource.

Doctrine — DQL functions cheat-sheet

This month

joliCode takes a look at the Symfony HttpClient component.

Symfony HttpClient and sequential requests assertions

Timeless

Eton Digital takes a look at us and our so-called rival.

The Ultimate PHP Duel: Symfony Or Laravel?

They also have this helpful article.

ED’s Developers Recommend: 6 Imperative Symfony Bundles

Here are two excellent articles looking at Symfony, Webpack Encore, and TailwindCSS.

TailwindCSS and Symfony’s Webpack Encore: A quick guide to integrating TailwindCSS into Webpack encore

Using Tailwind CSS and PurgeCSS with Symfony Encore

PHP Elephant logo

PHP

This week

Fabio Hiroki posted this unique article about using reflection as a tool to inspect your code and bypass static typing.

Improve your PHP code's testability

Doeke Norg looks at the similar but different Decorator and Proxy Patterns.

Decorator Pattern vs. Proxy Pattern

Kinsta has this useful and extensive guide to writing our source code with PHP 8.0 and transpiling it to a previous PHP version — even to PHP 7.1. 

The Ultimate Guide for Transpiling PHP Code

This month

If you subscribe to PHP Architect, Tomas Votruba also has an article on the topic.

Why Would Anyone Want to Downgrade Their PHP Code?

There were several exciting RFCs for PHP earlier in the month by Tyson Andre.

RFC: Add `final class Vector` to PHP

Adding `final class Deque` to PHP

Here's a video that's just as relevant to Symphony as it is to Laravel.

4 PHP OOP Topics Laravel Devs Need to Master

Alexandre Daubois wants us to code better together.

PSR — The PHP Standards Recommendations Guide

This one is self-explanatory.

PhpStorm 2021.2.2 is released

Timeless

Everyone knows Legacy Code and PHP are not synonyms. If you don't, then read this.

It’s not legacy code — it’s PHP

Code logo

Other

A look at what's coming for Docker.

Accelerating New Features in Docker Desktop

There's more Docker info from Tech Republic here.

How to pass environment variables to Docker containers

And this ends the Docker trifecta.

Using Blackfire Player with Docker

Here's a new way to support Open Source Contributors.

Open Collective Launches New Way to Support Open Source through Public Stock Shares

This is fantastic news for community troubleshooting and debugging issues.

Slack launches new media sharing features

And finally, according to ZNet:

Turns out low-code and no-code is valuable to professional developers, too

What do you think?

For many, and I mean many, more articles on Symfony and PHP coding, visit our Symfony for the Devil Flipboard Magazine or follow us on Twitter @SymfonyStation.

will be updating them while enjoying Octoberfest.

That's it for this week. I look forward to sharing next week's Symfony and PHP news with you on Friday. 

Please share this post. :)

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 Blackfire

 

 

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