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

Symfony Station Communiqué - 19 August 2022

A white paragraph.

 


 

 


 

Illustration of the surface of a alien planet.

Welcome to this week's Symfony Station Communiqué. It's your review of the essential news in the Symfony and PHP development communities. We also cover the cybersecurity world in detail each week.

We’re a little light on Symfony news this week so our Drupal and cybersecurity coverage was boosted.

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

As always, thanks to Javier Eguiluz and Symfony for sharing our last communiqué in their Week of Symfony.

My opinions will be in bold.


Many of the items we curate are on Medium. I recommend investing in membership as you can access everything you want to read. It’s a small investment in boosting your career. As may have noticed non-members can only access a limited number of articles per month.

Become a member here! The compensation we receive from your use of this link helps pay for our weekly communiqué.


Symfony

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

Highlight -> “This week, the biggest new feature added to the upcoming Symfony 6.2 version was an access token authenticator. This security authenticator is able to fetch a token in the request header and retrieve the associated user identifier. It supports custom tokens and self-contained tokens such as JWT, Paseto, and SAML.“

A Week of Symfony #815 (8-14 August 2022)

Symfony announced:

Zoom in on Practical Forms with Symfony workshop at SymfonyCon Disneyland Paris 2022

Fabien Potencier made an announcement on:

Signed Packages for Symfony CLI


Featured Item

Featured Item graphic

Infoworld and VentureBeat publish enlightening articles on edge computing in the same week.

It turns out there is more to living on the edge than content delivery networks.

Why edge computing matters for modern software development

Why edge is eating the world


This Week

Bouchaala Reda explores:

Dynamic PostgreSQL credentials using HashiCorp Vault (with PHP Symfony & Go examples)

Az Codez shows us how to:

Deploy a Serverless PHP Symfony App on AWS Lambda

Eleven Labs has:

Mon top 5 des PIRES erreurs sous Symfony

Muhammad Shehzad has a magisterial and:

Complete Guide to YAML!

Infoworld details:

7 ugly YAML gotchas to avoid—and how to avoid them

eCommerce

Joschi examines:

Creating a custom CMS-Block in Shopware 6

CMSs

In a superb piece Sarah Carney explores:

Adding helpful CSS classes to elements in Drupal 9 themes

As regards to Drupal Juan Carlos Orrego looks at:

Adding / Updating custom entities to an existing module

Gaurav Kapoor shows us:

Create And Integrate CKEditor 5 Plugin With Drupal 9

I don’t know why you would, but WebWash shows us:

How to Add Noindex to Pages using Metatag in Drupal

ImageX Media demonstrates:

How to add social media buttons to Drupal: top modules & step-by-step guide

#! code explores:

Drupal 9: Creating A Category Menu Using Derivers

Gatsby answers some questions about:

Integrating the Latest Gatsby Module for Drupal

PHP logo

PHP

This Week

stitcher.io offers:

What I would change about PHP

Speaking of updating PHP.

PHP 8.2.0 Beta 3 is available for testing

Also in updateland Jetbrains announced:

PhpStorm 2022.2.1 is Now Available

Christoph Rumpel has a new free video course:

Getting Started with TDD in PHP

Doeke Norg is starting a new series of articles. The first is:

Stop mocking about: Event Dispatcher

Mehrad Sadeghi continues his series:

Clean Code Made Simple - Part 3

.com has:

Stop using “extends” in PHP

Implementing LRU cache in PHP

Stop using “static” in PHP

chmod 755 reviews:

3 years of lift-and-shift into AWS Lambda

It must be MVC week.

Chibuzo Miracle explores a:

Simple MVC Framework With PHP

And Micael Vinhas also shares some MVC love:

PHP MVC: the easy way

Simple routing system for a PHP MVC application

Anthony Smith shows us:

How to Insert Form Data into a Database Easily Using HTML & PHP

Antonello Zanini demonstrates:

Web Scraping with PHP: a Step-By-Step Tutorial

Chris Texe looks at using:

Composer in Docker

Smaine Milianni show us how to:

Set a max timeout for your PHPUnit tests

Florian Engelhardt is:

Revisiting GitLab as a PHP Developer

Previous Weeks

Honeybadger examines:

Testing PHP Applications

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

Emerging Europe published:

The country at war The Voice of Ukrainian Startups

Tech Ukraine summarizes the findings:

The voice of Ukrainian start-ups: More than half of start-ups continue their operations exclusively from Ukraine

The Economist reports:

The head of GCHQ says Vladimir Putin is losing the information war in Ukraine

Fast Company reports:

The war in Ukraine shows how important private satellite companies have become—especially in times of conflict

Vice Asia reports:

Head of Ukraine’s Cybersecurity Says Russia Has Committed ‘Cyber War Crimes’

Decipher reports:

Microsoft Disables Accounts Abused By Russian Threat Actor

The Evil Empire Strikes Back

Gizmondo reports:

Russian Is Escalating, Diversifying Hacking of Ukraine, Research Says

Venture Beat reports:

Russia-Ukraine cyberwar creates new malware threats

Fortune reports:

47 of the world’s biggest 200 companies still haven’t left Russia. Now the Kremlin is preparing ‘expropriation blackmail,’ an expert says

Tech Republic reports:

Seaborgium targets sensitive industries in several countries

Cybersecurity/Privacy

Axios reports on:

Biden's three-headed cybersecurity team

The Hill reports:

Bipartisan legislation supports state and local cybersecurity

Wired reports:

Spyware Scandals Are Ripping Through Europe

Politico reports:

‘Hackers against conspiracies’: Cyber sleuths take aim at election disinformation

Venture Beat examines:

A practical approach to building resilience with zero trust

PC Mag lists:

The 14 Scariest Things We Saw at Black Hat 2022

Popular Science reports:

To fight cyber attacks, tech companies are banding together

ZDNet reports:

Hackers are finding ways around multi-factor authentication. Here's what to watch for.

TechCrunch reports:

DigitalOcean says customer email addresses were exposed after latest Mailchimp breach

Vice Asia reports:

How a Third-Party SMS Service Was Used to Take Over Signal Accounts

More

Venture Beat has this fantastic look at:

Abstraction in programming: Taming the ones and zeros

This article was almost our featured item.

Kinsta takes a long look at:

PostgreSQL Replication: A Comprehensive Guide

Speaking of SQL, Joshua Otwell shows us how to:

Filter Data in the MySQL WHERE Clause With Less Than and Greater Than Comparisons

The examples are in JS, but Shivyan Riaz has solid advice regarding comments in your code.

Write Clean Code in JavaScript, Better Programmer, Quality code

Down with OPP, Maxi Contieri has this quite clever article:

Explain in 5 Levels of Difficulty: Object-Oriented Programming

Markdown! After not sharing an article on this before, there are three this week.

Huseyin Kutluca takes a look at Markdown:

Documenting Software Architecture in a Code Repository

And Teniola Olowookere has:

A Beginner’s Guide to Markdown

And Microsoft has this VS Code announcement.

Introducing the Markdown Language Server

Markdown is also useful for posting to Dev.to or Hashnode.

I would say should rather than must. But, Wulfi asks:

Why you must start Blogging as a Developer?

Also, it gives us something to feature on Symfony Station. Writing is caring, people. 😎

O.Craay has an oldie but goodie:

Let’s Discover Svelte: A Comprehensive Beginner-Friendly Introduction

And Akash Doppalapudi asks:

Is Svelte the best way to build your UI?

Speaking of components, Dan Donald is:

Looking at our design system components through different lenses

PHP Pro Tips looks at:

The Pros and Cons of TailwindCSS

The irrepressible Jason Knight produced this epic rant:

The /FAIL/ Of Tailwind, The Go-To For The Ignorant

He also has:

Let’s Talk About Font Legibility: Shapes, Kerning, and Colours.

Mina Pêcheux shares:

Some handy CSS tricks

That’s it for this week. Please share this communiqué.

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

If you don't already follow us on Twitter at @symfonfystation.

And since it may be turning into a full-scale dumpster fire, we are now on Mastodon as well at @symfonystation@phpc.social. Consider joining the @phpc.social instance.

Do you own or work for an organization that would be interested in our promotion opportunities? Or supporting our journalistic efforts?

If so, please get in touch with 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 offer free promotion on our Support Ukraine page. Or, if you know of one, get in touch.

Keep 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 Communiqué - 12 August 2022

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

Illustration of the surface of an alien planet.

Welcome to this week's Symfony Station Communiqué. It's your review of the essential news in the Symfony and PHP development communities. We also cover the cybersecurity world in detail each week.

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

As always, thanks to Javier Eguiluz and Symfony for sharing our last communiqué in their Week of Symfony.

My opinions will be in bold.


Many of the items we curate are on Medium. I recommend investing in membership as you can access everything you want to read. It’s a small investment in boosting your career. As may have noticed non-members can only access a limited number of articles per month.

Become a member here! The compensation we receive from your use of this link helps pay for our weekly communiqué.


Symfony

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

Highlight -> “This week, the upcoming Symfony 6.2 version added features such as allowing to extend the #[When] attribute, adding conditional types to conditional configuration builders, introduced a new messenger:count command that lists the pending messages per transport and improved the #IsGranted attribute to allow using expressions.“

A Week of Symfony #814 (1-7 August 2022)

Symfony announced:

Zoom in on Advanced Security with Symfony workshop at SymfonyCon Disneyland Paris 2022

SymfonyCasts finishes their Symfony 6 Fundamentals Course and announce a new one.

This week on SymfonyCasts

Featured Item

Featured Item graphic

While not the most important post of the week, we think our latest article on local PHP development tools is useful. Please read:

Dream Universal, Develop Local: A look at PHP Local Development Tools.

This Week

Wordsys Technology shares:

5 Reasons Why You Should Use Symfony Framework for Projects

Saeid Raei explores:

Symfony Testing: using Repository pattern without connecting to database

Dariel Vicedo continues his series:

Creating a Symfony project from zero to success in 52 weeks (week 5)

In Francais Yann Dardot examines:

Enum php 8.1, et les librairie symfony. (Doctrine, graphql-php, api platform)

Big Data Analytics News looks at:

How Symfony Hosting Works Better With Cloudways Managed Hosting

Randy Fay needs your help testing a DDEV and Platform.sh integration.

GitHub - platformsh/ddev-platformsh: Add integration with Platform.sh hosting service

CMSs

bitExpert explores:

Sulu Headless exposing form config

Drupal made:

CSS and JavaScript aggregation performance improvements

Matt Glaman looks at:

ReactPHP for Drupal deployments and workers

Acquia is:

Evaluating Drupal Community Modules

Jacob Rockowitz is:

Defining the goals of the Schema.org Blueprints module

php[architect] has:

Drupal Dab: Creating Content Types in Drupal 9 Subscription required.

Ani Mahant shares:

A Step-by-Step Tutorial to Customize Drupal SearchAPI Facets without AJAX

James Oakley has some Drupal advice for:

Keeping track of upstream security issues

Previous Weeks

specbee shares:

Setting up Responsive Images in Drupal 9 - A Step-by-Step Guide

Promet Source examines:

How to Fix Common Web Accessibility Barriers in Drupal

PHP logo

PHP

This Week

stitcher.io documents:

Deprecated dynamic properties in PHP 8.2

Igieborelvis continues his SOLID PHP series:

SOLID : Fundamental Principles of Software Development using PHP (4)

Derick Rethans has the:

Xdebug Update: July 2022

Bentil Shadrack has a good reminder:

Cross-site Scripting (XSS) and ways to prevent it in PHP applications

Richard Dobroň shows us how to:

How to create your first composer package? 🐘

In Francais Karim Pinchon explores:

PHP - Rector

Matthias Noback looks at:

Simple Solutions 1 - Active Record versus Data Mapper

Andrew Schmelyun details:

The difference between Traits, Interfaces, and Abstract Classes in PHP

The esteemed Kévin Dunglas shows us how to:

Securely Access Private Git Repositories and Composer Packages in Docker Builds

Farhan Tanvir shares yet another:

7 Useful PHP Libraries You Should Use in Your Next ProjectーPart- 4

.com software shares:

Circuit Breaker pattern in PHP

Clean code tricks in PHP everyone should follow

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

Protocol reports:

Meta has banned a pro-Russia troll group that organized on Telegram

Rolling Stone reports:

Pro-Putin Trolls Supporting the Ukraine Invasion Can't Stop Screwing Up

The Hill reports:

Putin’s war is economic suicide

The Evil Empire Strikes Back

PCMag reports:

Researchers Look Inside Russian Malware Targeting Ukrainian Power Grid

Useful idiots Amnesty International have criticized Ukraine for housing troops in abandoned schools and daring to shell Russian aircraft in occupied Crimea.

Useful idiots Amnesty International have criticized Ukraine for housing troops in abandoned schools and daring to shell Russian aircraft in occupied Crimea.

The Guardian reports:

Zelenskiy rebukes Amnesty for accusing Ukraine of endangering civilians

Russia’s private military contractor Wagner comes out of the shadows in Ukraine war

Wired reports:

An Attack on Albanian Government Suggests New Iranian Aggression

The US Offers a $10 Million Bounty for Intel on the Conti Ransomware Gang

Cybersecurity/Privacy

PC Mag reports:

US Sanctions 'Tornado Cash' for Laundering Crypto Funds for North Korea

Decipher reports:

After Log4j, Efforts to ‘Uplift’ Open Source Ecosystem Continue

TechCrunch reports:

Twitter fixes security bug that exposed at least 5.4 million accounts

Twilio hacked by phishing campaign targeting internet companies

Protocol reports:

The SEC's cyberattack reporting rules are seeing fierce opposition. CISA is poised to do better.

ZDNet reports:

Cloudflare was the target of a sophisticated phishing attack. Here's why it didn't work

Computer Weekly reports:

GitHub targets vulnerable open source components

secure.software reports:

NVD Analysis 2022: Why you need to modernize your software security approach

Tech Republic reports:

Cisco reveals cyberattack on its corporate network

More

infoworld shares:

Visual Studio vs. Visual Studio Code: How to choose

The Register reports:

GitLab U-turns on deleting dormant projects after backlash

Nevin Katz reveals:

My Git Analogy Moment

As a Git-challenged person, I can say it’s a good one.

In Francais Karim Pinchon shares advice for students:

Conseils aux étudiants en développement logiciel

Utkarsh Mathur has a great history piece on the:

Rise of Open Source.

Venture Beat shares:

3 ways every company can get started with an open-source software strategy

Ethan Marcotte looks at the source of truth in design systems.

Truthish.

Accessibility and Frontend Illuminati Jason Knight looks at:

Creating Custom Icon Webfonts

And in douchebag news:

Molly White tried to tell you Web3 was not going great before the crypto crash

Dev Class reports:

‘The best thing we can do today to JavaScript is to retire it,’ says JSON creator Douglas Crockford

Amen, brother.

That’s it for this week. Please share this communiqué.

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

If you don't already follow us on Twitter at @symfonfystation.

And since it may be turning into a full-scale dumpster fire, we are now on Mastodon as well at @symfonystation@phpc.social. Consider joining the @phpc.social instance.

Do you own or work for an organization that would be interested in our promotion opportunities? If so, please get in touch with 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 offer free promotion on our Support Ukraine page. Or, if you know of one, get in touch.

Keep 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 Communiqué - 1 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 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 development activity focused on fixing bugs, especially on the HttpClient component, and polishing the new features of the upcoming Symfony 6.1 version, such as the new local switcher. Meanwhile, SymfonyLive Paris 2022 conference is coming in just two weeks and SymfonyCon Disneyland Paris 2022 conference announced the last days of its early-bird discounts.

A Week of Symfony #795 (21-27 March 2022)

 

They also say:

See you next week at SymfonyLive Paris 2022 conference

 

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

This week on SymfonyCasts

 

Platform.sh announced:

We’re changing the way development environment URLs are generated

 

Featured Item

 

Feature Item graphic

 

Thoughtworks notes a lack of thought by some. “We don't see teams making that trade-off analysis, blindly accepting the complexity of SPAs by default even when the business needs don't justify it. Indeed, we've started to notice that many newer developers aren't even aware of an alternative approach, as they've spent their entire career in a framework like React. We believe that many websites will benefit from the simplicity of server-side logic, and we're encouraged by techniques like Hotwire that help close the gap on user experience.”

 

SPA by default

 

Symfony and StimulusUX people.

 

This Week

 

I know I’ve shared many of these, but this one is in Spanish.

Laravel vs Symfony, ¿cuál elegir?

 

Les-Tilleuls.coop says in French, “we're fond of DDD tactical patterns! In this structural approach, we must divide and prioritize our code into three main layers: Infrastructure, Domain & Application. However, the same idea can be expressed and defined in several areas, for example, if I design a forum module as well as a real-time discussion module. In both domains, I will have a public template whose class is named 'Message', each using its own namespace: 'App\Domain\Forum\Model\Message' and 'App\Domain\Chat\Model\Message'.”

How do I make resources with the same name coexist from two different domains with API Platform?

 

Bernard NG thinks “it is preferable to use XML mapping when doing DDD.”

DDD With Symfony : How to configure Doctrine XML Mapping

 

Matthias Noback had a different take back in May of 2020.

DDD and your database

 

Michał Romańczuk has a very detailed case study of converting a nightmare legacy project to Symfony by using the Strangler Pattern.

Strangler Pattern in practice

 

Hatem Ben Yacoub has a review of a TYPO3 handbook.

The TYPO3 Guidebook reviewed. Understand and Use TYPO3 CMS.

 

You can learn more about Symfony-based CMSs like TYPO3 and Drupal here.

 

Specbee writes “Data. Files. They’re what make up your website. And how you store and serve them can make all the difference for user experience. Obviously, cloud storage has changed the way we look at and manage data. Today, we’re going to walk through one of the more popular options for Drupal websites. S3 (Simple Storage Service) is the cloud storage service provided by AWS (Amazon Web Services) and it has been providing durable, secure, and scalable cloud storage for many industries.”

How to store and serve files from Amazon S3 on your Drupal website

 

Louis Nagtegaal shows us how to handle:

Drupal Migrations in ddev

 

Timeless

Inspector logo

Sponsored Article

 

We published our third sponsored article on Symfony Station exploring how to Implement Code Execution Monitoring for your Symfony apps via Inspector. Like all our articles it is now available via audio.

 

How to Implement Code Execution Monitoring for your Symfony apps via Inspector

 

All sponsored articles are for products we have vetted and stand behind. We either use them or would do so if they applied to the Symfony Station site.

 

PHP logo

PHP

 

This week

 

The PHP Foundation published its March Newsletter.

PHP Foundation Newsletter

 

And PHP Architect published its April Issue.

php[architect] April 2022

 

Jonathan Bossenger writes “Ever since I discovered how to configure PhpStorm with Xdebug for debugging, it’s been my go-to solution for hunting down difficult to reproduce bugs. What I didn’t know until very recently was that it’s also possible to debug JavaScript using the same setup, which blew my mind!”

Debugging React, JavaScript, and PHP at the Same Time With PhpStorm

 

Bobby Jack notes “Bitmasks are as old as computing itself and, admittedly, were more useful in the days of memory scarcity and low-level programming. But there’s nothing to stop you from using them today, when appropriate. PHP makes use of bitmasks in many of its built-in functions.”

How to use bitmasks in PHP

 

Amplitudo asks:

Why are we using sessions in PHP?

 

Italo Baeza Cabrera writes “PHPUnit is a very complete testing suite, and with Mockery is even better. Most of the assertions are covered: data in arrays, strings inside strings, classes instances, and so on. Even so, PHPUnit is not perfect, and for your project, you may need a “custom” assertion. For example, I just stumbled upon the need to create a simple assertion to check if a class extending other contains a given variable set of methods.”

PHPUnit: Making your own assertion

 

Thomas Dutrion says, “Things in computing science are sometimes complex… And I consider myself a fervent proponent of self-descriptive code to limit complexity. I won’t get back on why you should unit test at least some of your code, nor will I spend time teaching how to write unit tests in this article. I will consider that all of you are ok with these concepts and implementations. Examples will be based on a PHPUnit implementation.”

Unit tests and data providers, the readable way

 

Code and Deploy shows us how to:

Sanitize Input using PHP

 

Hicham Ben Kachoud has a quick look at the S in SOLID programming.

SRP: Single Responsibility Principle

He also examines the L.

LSP: Liskov Substitution Principle

 

And regarding SOLID’s D, Guy Erez explains:

Dependency Inversion vs. Dependency Injection

This is very useful.

 

Joseph Bielawski has “A short explanation of the Bus Factor and how to hold its score at safe levels.”

What happens if your development team is hit by a bus?

 

Last Week

 

Dimitrios Lytras says, “While I wasn't paying attention, PHP got quite good.”

Modern PHP

 

Brent writes “Generics in PHP. I know I’d want them. And I know a lot of developers who agree. On the other hand, there is a group of PHP programmers, maybe even larger, that say they don’t know what generics are, or why they should care. I’m going to do a series on this blog about generics and PHP. We’ll start from the beginning, but quickly work our way to the more complex topics. We’ll talk about what generics are, why PHP doesn’t support them, and what’s possible in the future.”

Generics in PHP: The basics

 

Golems notes “What does $this mean in PHP and similar questions are increasingly appearing on the Internet. StackOverflow is also bombarded with questions about this variable. Let's find out everything related to dynamic PHP access object property with $this and break it down with examples.”

Dynamically Access PHP Object Properties with $This

 

If you ever need an extensive PHP explainer article to share, Visualwebz has you covered.

A Bit About PHP

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

 

The Next Web reports “For weeks, Russia’s military assault on Ukraine has been complemented by full-fledged information warfare. The Kremlin has propagandized Russian state media, and is trying to control the narrative online too. We’ve seen a bombardment of “imposter content” circulating – including fake news reports and deep-fake videos – while Ukrainians and the rest of the world have scrambled to find ways to tell the real story of the invasion. The instant messaging app Telegram has surfaced as one of the most important channels through which to do so. But what is it about Telegram that has millions flocking to it amid the chaos?”

Why Ukrainians are turning to Telegram during the war

 

The New Zealand Herald reports “Ukraine has claimed to have uncovered the identities of more than 600 Russian spies in what has been described as a significant blow to President Vladimir Putin's espionage efforts. Officials in the war-torn country allege the unmasked individuals were carrying out "criminal" activity across Europe. The Main Intelligence Directorate of Ukraine released a slew of personal details of hundreds of alleged agents working for the FSB.”

600 Russian spies busted in huge blow to Moscow's espionage war

 

Daniel Johnson reveals:

The real reason Ukraine's information war is so successful

 

This was long overdue.

Kaspersky Named First Russian Company on Security Risk List

 

The Washington Post writes “As the U.S.-funded broadcaster is forced to shut most of its Russian operations, its Web traffic indicates that Russian people are eagerly consuming its stories.”

The Kremlin tries to stifle Radio Free Europe — and its audience surges

 

Lawfare.org reports “Companies like Meta, Google, Apple, Microsoft, Twitter and even TikTok increasingly recognize that they cannot afford to sit geopolitical crises out. The war in Ukraine is the most dramatic instance yet of platforms’ geopolitical turn—their growing engagement with security and geopolitical challenges incidental to their business operations. Platforms came a lot more prepared for the war in Ukraine compared to previous major geopolitical inflection points. They have coordinated their actions with Western governments and other international actors leading the charge against Russia.”

Platforms at War

 

The Evil Empire Strikes Back

 

Russian hackers appear to be more competent than their generals and soldiers.

Russian military reportedly hacked into European satellites at start of Ukraine war

 

ZDNet reports that:

Multiple hacking groups are using the war in Ukraine as a lure in phishing attempts

 

The Intercept reports “Internal chat logs leaked from the notorious Russian ransomware gang Conti reveal unfiltered conversations between ultranationalist hackers in which they repeat Russian President Vladimir Putin’s conspiratorial lies about Ukraine, discuss the impact of early Western sanctions against their country, and make antisemitic comments about Ukraine’s Jewish president.”

Leaked Chats Show Russian Ransomware Gang Discussing Putin’s Invasion of Ukraine

 

Cybersecurity

 

Richard Forno writes “I and other researchers at the University of Maryland, Baltimore County have studied the cybersecurity preparedness of the United States over 90,000 local government entities. As part of our analysis, working with the International City/County Management Association, we polled local government chief security officers about their cybersecurity preparedness. The results are both expected and alarming.”

Hackers are targeting US local governments — and it’s time to fight back

 

Michael Usiagwu shares “The recent increase in the severity and sophistication of cyberattacks in recent years may just signal an essential, albeit overdue, turning point in cybersecurity. The clamor by security practitioners concerning the securing of cloud technology by use of technology like Zero Trust by enterprises and organizations has never been louder, and it’s not hard to see why.”

Zero Trust — The Silver Lining to Cloud Cyber Attacks

 

GitHub notes “Securing your projects is no easy task, but end-to-end supply chain security is more top of mind than ever. We’ve seen bad actors expand their focus to taking over user accounts, commonly used dependencies, and also build systems. Defending against these attacks is hard because there’s no one thing you can do to protect your project end-to-end.

To help you defend against these attacks, we created new guides in our Docs that cover how to get started securing your end-to-end supply chain.”

How to secure your end-to-end supply chain on GitHub

 

More

 

Rachel Lawson @rachel_norfolk says on Twitter, “If you are mining bitcoin in Europe then you are using up energy that could otherwise be heating people’s homes. You are directly helping Putin’s invasion of Ukraine by making it harder to apply sanctions on energy coming from Russia.”

 

On a related note, The Guardian reports a “campaign, called Change the Code Not the Climate and coordinated by Environmental Working Group is calling on bitcoin to change the way bitcoins are mined in order to tackle its outsized carbon footprint. The software code that bitcoin uses – known as “proof of work” – requires the use of massive computer arrays to validate and secure transactions. Rival cryptocurrency Etherium is shifting to another system – “proof of stake” – that it believes will reduce its energy use by 99%.

Climate groups say a change in coding can reduce bitcoin energy consumption by 99%

 

Wired opines “A string of “sabotage” incidents in open source software is reigniting discussions of how to safeguard projects that underpin digital platforms and networks around the world. Many of the recent incidents have been dubbed “protestware” because they relate to open source developers making code changes to express support for Ukraine amidst Russia's invasion and ongoing attack of the country.”

The Fragile Open Source Ecosystem Isn’t Ready for ‘Protestware’

 

Docker announced Extensions.

Docker Extensions Preview

 

GitHub shows us how to:

Save time with partial re-runs in GitHub Actions

 

They also announced CoPilot Labs. A VS Code extension for experimental applications of Copilot.

GitHub Copilot Labs

 

Jonas Ulrich writes “We're still wasting massive amounts of valuable development cycles in the frontend world by working in silos, or by to at least some extent reinventing the wheel for every project. Results suffer in the process, impacting real-world results for users and content creators alike. How did we get here, and what could a way forward look like? How we've already come a long way, and why still (so far) even Jamstack hasn't been the sole answer, either...”

Unlocking the frontend - a call for standardizing component APIs pt.1

 

UX Tools notes “The term “user error” implies that it’s the user’s fault when they do something wrong. But in the vast majority of cases, the fault actually rests with the designer for having created an interface that is confusing or makes it too easy for the user to make a mistake. The solution to user errors is not to blame the user or try to train the mistakes out of them. The solution is to redesign the product in such a way that it prevents errors from occurring in the first place.’

How Designers Can Prevent User Errors

 

Louis Lazarus says, “there is a whole bunch of lesser-used attributes that I was sure I’d forgotten about, and probably a whole bunch of attributes I didn’t even know existed. This post is the result of my research, and I hope you’ll find some of these useful to you, as you build HTML pages in the coming months.”

Those HTML Attributes You Never Use

 

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 Communiqué - 11 March 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.

This week, we continue our coverage of the war crimes going on in Ukraine and how you can help. That sparks some cybersecurity coverage as well. There was not much Symfony news so I’m adding in extra Drupal coverage that overlaps with Symfony development.

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

 

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

Highlight -> “This week, Symfony 4.4.39, 5.4.6, and 6.0.6 maintenance versions were released. In addition, the entire schedule of the SymfonyLive Paris 2022 conference was published. Finally, Symfony expressed its solidarity with Ukrainian people.”

A Week of Symfony #792 (28 February - 6 March 2022)

 

They also remind us that “the French SymfonyLive conference organized in Paris will be soon here! Join us on April 7th and 8th for 2 days of Symfony talks. Regular pricing ends on March 14th!”

Only 4 weeks left before SymfonyLive Paris 2022

 

SymfonyCasts continues its exploration of EasyAdmin.

This week on SymfonyCasts

 

Featured Item

 

Featured Item graphic

 

A recent Forbes article notes “over one-quarter of U.S. consumers have not taken any steps to protect their digital/online privacy - and that means it is more important than ever for organizations to ensure their software and applications are as bulletproof as possible against bad actors. However, the rapid shift to digital and the fast-paced nature of business in today’s post-pandemic world, coupled with the growing and sophisticated threat landscape, continues to challenge even the most advanced security teams.

Something needs to change, and one company is arguing that the industry requires a new approach to security centered on developers. After all, developers have become the lifeblood of an organization's digital transformation journey - but the faster developers move to bring new applications to market, the greater the chances for flaws or security issues within their code.”

Why the Future of Cybersecurity Rests in Developers’ Hands

 

I wholeheartedly agree with this.

 

This Week

 

Alexandre DuBois asks "is Symfony using some sort of magic to validate inputs?"

Symfony Internals #2: Data Validation

 

Dans français Guillaume Ponty explores 3rd-party authentication with Symfony.

Symfony 6: S’authentifier Avec Google, Facebook, GitHub, …

 

Heddi Nabbisen has this interesting tutorial for us:

EasyAdmin 4 for admin panel based on PHP 8 and Symfony 6: Install and create a sample

 

Andy Blum writes “Following Drupal 8’s ambitious overhaul to “get off the island,” the recommended way to create a new Drupal site is to use composer to manage all PHP dependencies. By now, most Drupal developers will have had a chance to install a new module or update existing modules using composer’s require or update commands, but did you know that you can also use composer to run scripts to interact with your code?”

Add a Composer Script to Your Module or Theme

 

Griffin Polonus writes “PHP 8 includes improvements that show a clear desire to modernize, as well as capabilities of other popular languages that developers will appreciate. Thanks to PHP 8, Drupal 10 can now use tools that will enable continued growth and enhanced performance. Upgrading to PHP 8 will be beneficial to any site running on PHP–however, as a Drupal developer, I’m particularly excited about how this will impact Drupal 10. I’ll highlight some of the benefits that apply to many sites, but especially how it may apply to Drupal.

PHP 7 to 8: Entering the Modern Era of Programming Languages

 

Golems states, “Drush (the Drupal Shell) is one of the most convenient and functional assistants for all Drupal developers. Read on if you're interested in learning how Drupal 9 and Drush work together, what benefits it has, and how easy it is to sanitize data with Drush.”

Drupal 9: Sanitizing Data With Drush

 

Last Month

 

Manish Saharan says, “In this article, we’re going to discuss two such Drupal 8/9 utility tools that have massively simplified and improved the way you work with Drupal code, modules, and installations - Drupal Console (leveraging Symfony Console) and Drush.”

Accelerating Drupal Development with Drupal Console and Drush

 

Timeless

 

As we noted in How Symfony Station was built: an adventurous exploration of layout solutions, the default Drupal admin theme is an eye-destroying abomination. We wrote “Gin is beautiful in comparison. It's clean, cool, and collected with some customization options.” It was built on the foundation of Claro from one of the lead designers of the Claro & Drupal Design System.

Clayton Dewey expounds upon this with, “I’ve seen, time and again, the difference a clean and modern website editing interface can have on both the quantity and quality of site content. When a website’s back-end is frustrating and unappealing to work with, it dissuades the author from posting.” In a multi-post series, he explores the wonders of Gin.

There are a lot of design lessons to pick up in the series. And if you’re a new Drupal user, lessons on how to use it. It’s perfect for larger publishers.

Enhance Your Drupal Website’s Authoring Experience Part 1 - Modernize the Admin Theme with Gin

 

Enhance Your Drupal Website's Authoring Experience Part 2 - Declutter the User Interface

 

Enhance Your Drupal Website’s Authoring Experience Part 3 - Improve the Field User Interface

 

Enhance Your Drupal Website’s Authoring Experience Part 4 - Fine Tune Admin Pages

 

Enhance Your Drupal Website's Authoring Experience Part 5 - Accessibility Tools and Conclusion

 

Note: Drupal is addressing their usability problem with a version of Claro that will be non-experimental for core in v. 10.

 

Inspector logo

Sponsored Article

We published our third sponsored article on Symfony Station exploring how to Implement Code Execution Monitoring for your Symfony apps via Inspector. Like all our articles it is now available via audio.

 

How to Implement Code Execution Monitoring for your Symfony apps via Inspector

 

All sponsored articles are for products we have vetted and stand behind. We either use them or would do so if they were applicable to the Symfony Station site.

 

PHP logo

PHP

 

This week

 

Rafael Bernard Araujo explores Domain-Driven Design in and value object:

Introducing value objects in PHP

 

Tomasz Dobrowolski covers dependency injection and writes, “while it sounds complex, it’s not as scary as it sounds on the surface. And if used correctly, it can transform your code to be cleaner and easier to work with.”

What Is Dependency Injection in PHP and How You Can Use It to Write Better Code

 

Marco Aurélio Deleu says, “I have been working on a new Runtime for Bref for a while now and it has been my biggest open source journey so far. It has been incredibly challenging and a great learning experience. In this post, I want to run through some key aspects that I faced while working on this.”

3 things I learned working on a Bref Runtime

 

Frank de Jonge shows us how to:

Use a message envelope

 

Andreas Heigl takes a look at PHP attributes.

Attributes are awesome

 

Harpreet Kaur notes “Memcache is object storing mechanism which is used to store the results of database queries helping websites to serve pages faster. Memcaching process stores data as key-value pairs in memory so that it can be accessed later. It will be useful in those applications which rely heavily on database queries. Memcaching is going to improve the performance of the application significantly.”

What is Memcache & How to use it in PHP?

 

Ten7 looks at Memcache in Drupal.

Memcache Testing and Proxying

 

Gene Wilburn needed to build a lightweight search functionality. He writes “As I thought about a solution for this small site, I thought of grep, the open-source search utility with a long Unix heritage that can rip through text files to search for words or phrases and show them in context.”

Greppy: A Lightweight Perl/PHP Website Search Engine Based on Grep

 

Jakub Misek says, “Have you heard about the Visual Studio Code for the Web? It's the code editor running in your browser, allowing you to work with your local files, files on your GitHub repositories, or files on Azure. Anywhere.

In the case of the PHP language, it is only suitable for quick edits on small projects, due to its limitations. However, PHP Tools for Visual Studio Code is newly available for VS Code for the Web. All the editor features can now be used in this browser-based development environment.”

PHP IntelliSense on the Web

 

Last Month

 

Alessandro Castellano has a new tutorial and says, “you are going to see how class constructors work in PHP, what happens with class inheritance, and a new PHP 8 feature called “argument promotion”.”

PHP Constructors Explained

 

WPGraphQL notes “Setting up End to End tests for WordPress plugins can be done in several ways (Codeception, Cypress, Ghost Inspector, etc), but lately, the easiest way I’ve found to do this is to use the @wordpress/env and @wordpress/scripts packages, distributed by the team working on the WordPress Block Editor (a.k.a. Gutenberg), along with GitHub Actions.”

Adding End 2 End Tests to WordPress plugins using wp-env and wp-scripts

 

Frank Pins explores Gitlab pipelines in a series of articles.

Optimizing Gitlab pipelines - Basics (1)

 

Optimizing Gitlab pipelines - PHPUnit (2)

Code logo

Other

 

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

I think we should all stop doing business with Russian companies. However, many think internet access is an exception. At this point, I am not sure. But Cloudflare is.

Cloudflare won’t cut off Russia, says it “needs more Internet access, not less”

 

It seems that Twitter itself agrees as it has created an onion site for Tor browsers.

Learn more in this Tweet thread

 

And Lumen does not.

Breaking Russia's internet backbone

 

Venture Beat has a report on the Ukrainian IT Army’s offensive.

Ukraine’s IT army is doing well, hitting Russia with ‘cost and chaos’

 

Anonymous continues its assault on Putin’s minions and lackeys.

Anonymous claims it hacked into Russian TVs and showed the true devastation of Putin’s Ukraine invasion

 

Cyber Scoop reports “NATO nations voted unanimously last Friday to admit Ukraine to their Cooperative Cyber Defence Centre of Excellence (CCDCOE), a development which experts said will help Ukraine fight off mounting cyber threats from Russia.”

Ukraine, looking to fortify itself against Russian attacks, admitted to NATO cyber center

 

The free world also needs to kick up its defensive game. Three companies are aiding the effort.

Cloudflare, CrowdStrike, and Ping Identity launch the Critical Infrastructure Defense Project

 

What won’t work is the Ostrich approach.

It's time to stop hoping that cybersecurity problems will just go away

 

One way to defend your site is to block access to it by country. If you don’t have an audience in Russia, you should do so. We do so we aren’t.

How to block access to your website and related services in Russia, PHP 8, and client-side alternatives

 

Tawhid has this security advice for us:

11 Security tips to protect your website

 

As an example of an attack, Nevulo explains XSS. “Cross-site scripting is an attack performed on websites, where an attacker can inject some malicious code or scripts that get executed to modify the behavior of that website.”

What is cross-site scripting (XSS) and how does it work?

 

Harvard Business Review’s Stuart Madnick takes a peek at where this might all lead.

What Russia’s Ongoing Cyberattacks in Ukraine Suggest About the Future of Cyber Warfare

 

Via Fast Company “MacPaw’s Julia Petryk talks about sheltering in an underground parking garage, enduring Russian propaganda, and confronting the emotional toll of the war.” MacPaw is a Ukrainian company we urge you to support.

 

What it’s like to work at a Ukraine tech company during Russia’s invasion

 

Speaking of tech companies:

It took a war for Big Tech to take a side

 

Here are a few articles examining why Putin’s war of terror is not going so well (aside from the fact that most thugs are corrupt, dumb, and incompetent).

Putin Underestimated the Connective Tissue of Capitalism

 

The Strategy That Can Defeat Putin

 

The Spectacular Collapse of Putin’s Disinformation Machinery

 

And now in more encouraging news, here’s a look at the impressive things coming to CSS. Michelle Barker writes “It’s fair to say that we’re in a booming era for CSS right now. As I write this, I notice that many of these new features have some things in common. Yes, they often help us write better, cleaner, and more efficient code.”

New CSS Features In 2022

 

Icons are always useful for UI, UX, and web design. Here’s how to use Font Awesome no matter your dev/design stack.

Now You Can Stop Shoehorning Solutions to Get Icons Working with Your Tech — Font Awesome Matches Your Tool Stack

 

Microsoft made an announcement that will make JavaScript developers happy.

A Proposal for Type Syntax in JavaScript

 

Writing for Forbes, Amir Husain says:

Decentralization Is the Future of Software

 

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 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 Communiqué - 28 January 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. Take your time and enjoy the items most valuable for 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, if I present any, will be in bold.

 

SYMFONY

 

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

Highlight -> "This was a very intense week for Symfony: first we introduced the new Symfony 6 certification exam, then we announced a new and better way to start Symfony projects and finally, we updated Symfony Flex to provide fast, smart Flex recipe upgrades which will simplify a lot upgrading to newer Symfony versions."

A Week of Symfony #786 (17-23 January 2022)

 

Ever wondered which Symfony components make Laravel work?

Here they are.

 

Featured Item graphic

 

FEATURED ITEM

 

It’s safe to say almost every one of us uses Composer and owes a debt of thanks to it.

In this article Yanick Witschi says “I’ve been working on making Composer faster and more memory-efficient for years and without this blog post, somehow this journey would not have felt like it was complete.”

 

The long journey of making PHP’s Composer memory-efficient and fast

 

This Week

 

This discovery almost made our Featured Item. I was very excited to find Viewi this week, especially after a frustrating bout with Gatsby.

It’s a powerful tool for creating reactive applications using only PHP and HTML. In essence, it’s a server-side template engine + frontend framework. You describe all components and logic in PHP and then the tool transpiles them into native JS.

The project website viewi.net details the mechanism of operation and has code examples. And it’s quite fast.

You can also follow a step-by-step tutorial and check out the Symfony integration. Great stuff.

 

Anka Bajurin Stiskalov writes “You can create console command-line commands using the Symfony Console component. I needed one for a WordPress plugin skeleton to build a WordPress plugin maker for my team.” She shows us how to:

Use Symfony Components to Build a WordPress Plugin Maker for CLI - Part 1

 

Abid Ahmad writes “Today I’ll explain how I found multiple vulnerabilities on a web application that used the Symfony Web Framework where Symfony profiler/debug mode was enabled.” Tip → only use profiler in dev environments.

How I was able to find multiple vulnerabilities of a Symfony Web Framework web application

 

Merlin Carter and Zoltan Kincses write “Just over a year ago, we published a tutorial titled “ Serializing data in PHP: A simple primer on the JMS Serializer and FoS Rest”. We heard from a few people who found it helpful, so we decided to publish a follow-up.”

Serializing data in PHP II: A simple primer on database interactions

 

Yegor Shytikov shows us how to set up Magento eCommerce Multi-Region AWS infrastructure with auto-scaling using AWS Cloud, Terraform, and Terragrunt.

Magento Global Reference Architecture Terraform Infrastructure as Code (IaC) on AWS Cloud

 

There is lots of Drupal news this week, including its being a digital experience platform rather than just a CMS. In fact, this is one reason we use it for Symfony Station.

 

We begin with this self-explanatory post.

Drupal 10 was updated to Symfony 5.4 as a stepping stone to Symfony 6

 

I’ve shared content from Vishwa Chikate before and this is another good one. He says “In this article we will cover how to integrate Drupal 8/9 website with Auth0 Single Sign-On (SSO) platform.”

Integrating Drupal with auth0

 

Stavros Kounis shows us how to:

Apply Drupal 9 patches with Composer

 

Webwash notes “The Webform Mailchimp module allows you to send Webform submissions to your Mailchimp list whilst also allowing you to map the Drupal webform fields to MailChimp form fields.”

Send Webform Submissions to Mailchimp in Drupal

 

Last Week

 

As mentioned above:

More Than a CMS: Drupal in the Age of Digital Experience Platforms

 

Timeless

Inspector logo

Sponsored Article

We published our first sponsored article on Symfony Station exploring how Code Execution Monitoring helps you identify bugs and bottlenecks in your Symfony app before your customers do. Like all our articles it is now available via audio.

Why You Should Use Code Execution Monitoring with Symfony

All sponsored articles are for products we have vetted and stand behind. We either use them or would do so if they were applicable to the Symfony Station site.

 

PHP logo

PHP

 

This Week

 

Mauro Chojrin reviews modern tools for PHP developers.

Modern Tools for PHP Developers

 

Alexandre Daubois demystifies one of the most powerful PHP tools you’ll encounter. I learned a lot from this one.

Master PHP Iterators

 

This is a fantastic article on PHP fibers from Robert Landers.

Thoughts On PHP Fibers

 

Here’s a yearly review from the team behind FrameworkX and ReactPHP.

2021 – A Year In Review

 

Anders Björkland writes “Being me, I like to explore new subjects and see how far I can go with my current proficiency. I come from a background where all I've ever done has almost exclusively been "object-oriented", but now being left without Doctrine (a popular PHP ORM) I saw an opportunity to build similar (but way more simplistic) functionality on my own.”

How I stumbled onto the Reflection API

 

Erik the Coder continues his Modern PHP Crash Course with conditionals, loops, and functions.

PHP crash course : Conditionals, Loops and Functions

 

Hugo Demont says “During different searches on the internet, I found that little information is on the subject of reading information from a JSON file.”

Data management with JSON files and PHP

 

Andrew Schmelyun writes "If you've worked in a PHP project, chances are you've dealt with the Composer package manager. As a full-stack developer, I think it's one of the better ones that I use on a regular basis, consistently improving while remaining relatively simple.

One of the more difficult things to do with it though is adding a local package for use in a larger PHP project. Whether you've downloaded a private source, or are developing a package locally, this method will work to get your package into Composer.”

Installing a Local Composer Package in Your PHP Project

 

This one is self-explanatory.

VSCode PHP Debug Release January 2022

 

Open Swoole v4.10.0 is a major release with new Coroutine Selector API co::select(), HTTP2 SSE and bug fixes, sleep/usleep data type fixes, and enhancements.

Open Swoole 4.10.0 Released

 

Jordi Bassaganas notes “Sometimes when working in a team of multiple web developers on a brand-new PHP project, each of them using a different OS, you may come across a problem when running composer install.” He shows us how to fix it.

Installing Multiple Alternative Versions of PHP on Ubuntu

 

And Anton Röhm shows us how to:

Deploy your PHP Codebase with Ansible and GitHub Actions

 

This Month

 

Doctrine ORM released an update.

Doctrine 2.11

Code logo

OTHER

 

If you know a plugin developer, give them a shoutout.

Today is Plugin Developers Appreciation Day.

 

GitHub’s ReadMe project takes a look at:

The good, the bad, and the ugly of making decisions in open-source

 

Postman says “A well-defined API lifecycle is essential for taking full advantage of operating on an API platform and being able to effectively govern hundreds or thousands of APIs across many different teams. Having a shared understanding of what the API lifecycle is across your org, and possessing a common vocabulary for describing it, will help your teams get on the same page when developing APIs with greater productivity, quality, and governance needed to drive your enterprise into the future.”

The 8-Point API Lifecycle Blueprint

 

If you would like to review API endpoints, Kinsta has this for you.

What Is an API Endpoint?

 

Stephen Turner writes “One of the topics users of Docker Desktop often ask us about is file sharing. How do I see my source code inside my container? What’s the difference between a volume and a bind mount? Why is file sharing slower than on Linux, and how can I speed it up? In this blog post, I’ll cover the options you have, some tips and tricks, and finish with a sneak preview of what we’re currently working on.”

File Sharing with Docker Desktop

 

David Scott notes “Modern applications make extensive use of networks. At build time it’s common to apt-get/dnf/yum/apk install a package from a Linux distribution’s package repository. At runtime an application may wish to connect() to an internal postgres or mysql database to persist some state, while also calling listen() and accept() to expose APIs and UIs over TCP and UDP ports. Meanwhile developers need to be able to work from anywhere, whether in an office or at home or on mobile or on a VPN. Docker Desktop is designed to ensure that networking “just works” for all of these use-cases in all of these scenarios. This post describes the tools and techniques we use to make this happen, starting with everyone’s favorite protocol suite: TCP/IP.”

How Docker Desktop Networking Works Under the Hood

 

I ran across an interesting tool this week, Spin. they say “Stop wasting time fixing production issues you've already solved. Spin is a bash utility that improves the user experience for teams using Docker. Replicate any environment on any machine, regardless of whether they are running macOS, Windows, or Linux. Centralize your infrastructure from a single configuration file using Docker.”

Spin

 

Git 2.35 was released.

Highlights from Git 2.35

 

Daniel Diaz tells us “As a web developer, it’s extremely important to know how to use Git for web development properly. We’re not just talking about “git add”, “git commit”, and “git push”. You should know the whole workflow of creating a web project with Git.”

Git for Web Development

 

We’ll end with a MySQL tip. Joshua Otwell reminds us “If we aren’t mindful, NULLs have the potential to wreck our query results. Learning how to correctly filter for NULL in the WHERE clause using either IS NULL or IS NOT NULL according to the business logic context at hand, is but one part of learning to handle NULLs.”

Transform NULL values with the MySQL COALESCE function

 

Have you published or seen something related to Symfony or PHP that we missed? If so, please get in touch.

 

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 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. ;)

 

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 - 12 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 5.4.0-BETA1 and 6.0.0-BETA1 versions were published in preparation for their final release at the end of November 2021. We also published the first articles about the new features of Symfony 5.4. Lastly, we announced more speakers for the SymfonyWorld Online 2021 Winter Edition conference (December 9-10, 2021).

A Week of Symfony #775 (1-7 November 2021)

 

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

New in Symfony 5.4: Nested Validation Attributes

New in Symfony 5.4: Controller Changes

New in Symfony 5.4: Route Aliasing

New in Symfony 5.4: PHP Enumerations Support
 

Would you like to put your brand ahead of the Symfony community? Make your Corporate social responsibility (CSR) policy a reality? The Fast-Track book for version 6 and SymfonyWorld Online conference next month are still open for sponsorship!

But in this blog post, Nicolas Grekas makes a specific call to SaaS providers for whom Symfony has a bridge (aka plugins).

Calling SaaS providers to back their Symfony bridge

 

SensioLabs, the company behind Symfony, has some great resources for getting the best out of your projects.

Read / Watch / Download / Enjoy our free resources


 

Featured Item graphic

Featured Item

We continue to highlight the most significant post of the week.

 

Makeoverarena says: “Although there are many PHP frameworks, Laravel and Symfony are the most popular. Hence, there has been a constant rivalry between both. Especially on which one to choose in the coming year (2022). So, if you are in the dark about the one to choose, it isn’t hard. Just pay attention to this article as its main purpose is to explain the best out of both.”

Laravel Vs. Symfony – Which PHP Framework to Choose in 2022?

 

Here is another comparison.

How Laravel Differs From Symfony?

 


Via SymfonyCasts: “If your app checks passwords, implementing the new PasswordAuthenticatedUserInterface is for you! How do you *check* if the submitted password is valid from inside an authenticator? You don't! Instead, you attach the new PasswordCredentials object to your Passport... and let Symfony do the heavy lifting for you!” 

This week on SymfonyCasts

 

Wouter Carabain, who provides some helpful info on his new blog, continues a new series of posts looking at pairing Symfony with API Platform. Here’s the third one and a follow-up of the articles we shared in earlier communiques.

How to create a simple application using Symfony and React Native – Part 3

 

Anders Björkland has a second article on Bolt CMS. The previous one dealt with content creation and editing. This one looks at how to implement a design for it. 

Bolt CMS for designers

 

Drupal users, Drupal needs your input. The decision was made to create a "test" branch with Symfony 5.4. The question now is how are they going to do that. A couple of choices must be made. Tell them what you think!

[POLICY] Release Symfony 5.4 with which Drupal branch and how much support will it get?
 

On a similar note Drupal 10’s rollout is dictated by Symfony 6’s.

What To Expect from Drupal 10, and How to Deal With Drupal 8’s End of Life

 

The API Platform Conference made their presentations available for replay. Several caught my eye.

 

In French. Why Symfony and PHP are still in the game for any project.

A suitable serialization with API Platform and Symfony
 

In English. Sylius and API Platform: the story of integration

Symfony Runtime: wrapping API Platform in a lambda

 

In this post, Mickaël Andrieu asks how to control the quality of your PHP and Symfony projects? In French.

Comment contrôler la qualité de vos projets PHP & Symfony?

He also posted this one.

Contrôler la qualité de vos projets PHP & Symfony avec PHP-CS-Fixer

And Mickaël finishes with the series with this one.

Contrôler la qualité de vos projets PHP & Symfony à l’aide des hooks Git

 

This article is from an unlikely source and, despite its title, is more about the history and advantages of SensioLabs and Symfony. But it’s still interesting.

Migrating from Legacy to Symfony? SensioLabs explains it all!

 

Romain writes Github Actions will help you guarantee optimal quality and good functioning of code thanks launching of automatic tests. But it also warns you about the known vulnerabilities of your dependencies.

Github Actions for Symfony 5, PHPUnit, and more

 

Timeless

 

I ran across Akashic Seer’s blog last week, which is a treasure chest of Symfony-related posts. Here are a few posts from his archive.

Symfony 5+ check if user is logged in inside a twig template

How to install and configure Redis in Symfony 5+ for local testing

PHP logo

PHP

 

This week
 

Our “frenemies” at Laravel have this helpful video for your enjoyment.

Getting Started With PHP in 2022

 

Mateusz Cholewka says that you should manage your logs if you are using Docker and cloud services to run your application live.

How to configure PHP logs for Docker

 

Sticher.io notes that PHP 8.1 will be released on November 25, 2021. We already know all the new features, performance improvements, changes, and deprecations, so let's go through them one by one.

What's new in PHP 8.1

Brent also had this article.

PHP 8.1 in 8 code blocks

And this video.

Generics in PHP (video)

 

In another video, Kinsta shows us:

How to install PHP on any server

 

Beau Beauchamp tells us why PHP is more popular and more hated than ever.

I thought about going with this one for the featured post.

PHP Is Killing Python

 

And we still get these kinds of articles generated from “data” from “a survey by”.

Is PHP Doomed to Decline in the Long Term? TIOBE Thinks So.
 

 

And yet another comparison article, this time for Node.JS.

PHP vs. Node.js: Which is Better for Backend Development?

 

Starting your journey as a PHP developer? Here are some of the best PHP Projects to inspire you.

10+The Best PHP Projects GitHub 2022

 

Type variance allows types to change during inheritance in a way that is compatible with the Liskov substitution principle. This article describes how this works on a technical level.

Type variance in PHP
 

Last Week
 

Smaine Milianni states “Le but de cet article est de donner une vue d’avion sur ce qu’est l’architecture hexagonale et de faire un retour d’expérience sur son utilisation dans un contexte professionnel.” 

L’archi Hexa est-ce archi bien? Is hexagonal architecture good architecture?
 

Timeless

 

In a post from last year, JetBrains notes the Pest PhpStorm plugin is a new addition to PhpStorm’s growing ecosystem. With this plugin, testing your code in your favorite IDE is even simpler and faster!

How the Pest PhpStorm Plugin Will Improve Your Testing Workflow
 

In a similar vein, Laravel News says "Better PHPUnit is a Visual Studio Code plugin by Caleb Porzio for running PHPUnit tests from the editor. Like Sublime PHPUnit, it automates running repetitive PHPUnit commands using the command palette or keyboard shortcuts."

Better PHPUnit VS Code Extension

Code logo

Other

 

In the Guardian, Jane Martinson writes, “I have been at the Web Summit in Portugal, a sort of Davos for the technology industry, which ended with the sense that after years of talk about harm and regulation, the demands are increasing, and change is finally in the air.

While it is true that most of the 40,000 startup founders, investors, and other attendees still yearn to be the next $7tn company like Meta, there was also genuine discussion about the kind of tech and the kind of society that discovers children are being harmed, and democracies undermined and yet does little or nothing about it.”

Mark Zuckerberg and the tech bros are still on top – but their grip is loosening

 

Burke Holland says: “One of the first things you realize after getting started with GitHub’sCodespaces, is that you desperately want your custom environment setup that you enjoy locally to somehow magically be available in Codespaces. You can do that using a “dotfiles” repo, and in this post, we’re going to look at how to set up a dotfiles repo and what quirks you need to be aware of to use it with Codespaces."

How to add your dotfiles to GitHub Codespaces

 

Travis Weston notes that: “one of the first lessons you learn when getting into business is that there are two types of debt: Good debt and bad debt. Technical debt is no different. We’ll never avoid technical debt entirely, but we can prevent bad technical debt.”

The (Technical) Debt Snowball: Pay down technical debt without going bankrupt in the process.

 

I learned a lot about edge servers from this post by Kinsta.

How Do Edge Servers Work? Everything You Need to Know
 

 

Docker has the details on Docker Desktop 4.2 and its expanded capabilities.

Docker Desktop 4.2 Release: Save Your Battery with Pause / Resume, and Say Goodbye to the Update Pop-up
 

 

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.

 

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 VS Code

 

 

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