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

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 Communique - 29 October 2021

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

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

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

*Please note all links will open in a new browser window. 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 development activity focused on adding auto-completion features to some of the built-in commands. Meanwhile, the Symfony Docs website was redesigned to give it a modern and more useful look. Lastly, we announced nine additional speakers for the upcoming SymfonyWorld Online 2021 Winter Edition conference (December 9-10, 2021).”

A Week of Symfony #773 (18-24 October, 2021)

Five new companies have joined the Symfony Sponsoring Program to help make the Symfony project development sustainable.

New Backers for the Symfony Sponsoring Program

Symfony also announced the third set of speakers for the next SymfonyWorld. I am looking forward to The New Testing Landscape: Panther, Foundry & More from Ryan Weaver.

Third Round of Selected Speakers at SymfonyWorld 2021 Online 2021 Winter Conference

Via SymfonyCasts: Our Symfony 5 refreshed Doctrine relations tutorial is complete! In this last chapter, we celebrate by doing something unrelated to relations: adding & customizing Pagerfanta pagination links.

And now time for something completely different! The Symfony 5 security tutorial - which is ALL about the new "authenticator" system: passports, badges, listeners, throttling... and 100 other cool things.

This week on SymfonyCasts 

Wouter Carabain, who is providing some useful info on his new blog, began a new series of posts looking at pairing Symfony with API Platform. Here’s the first one.

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

Last Week

Rector posits this hypothetical situation: a new major Symfony is released in December 2021. We'll already have PHP 8.1 out by that time. There have been a lot of positive vibes about new PHP versions in the last year, so let's say the framework takes a brave leap forward.

Symfony 6 will require PHP 8.1 as a minimal version in its composer.json.

How would you react to such a move? What if you could keep using your current PHP version while using Symfony 6?

How all Frameworks can Bump to PHP 8.1 and Keep Using Older PHP

Dariusz Włodarczyk discusses how to authenticate user roles and permissions with a Vue.js and Symfony-based project.

Vue.js and Symfony: Roles Authentication

Anders Björkland is posting a series of articles looking at Bolt CMS from 3 different perspectives: content creators/editors, designers, and developers. He starts with Content Creators.

A "Not WordPress"-CMS based on Symfony

While we did not use it, Bolt was one of the three CMS finalists for the permanent version of the Symfony Station website. Currently, we are putting the finishing touches on it.

Timeless

Anders also had this interesting article from back in April.

Deploying a Symfony application with Deployer

PHP

This week

smknstd provides a useful modern PHP cheat sheet on GitHub.

Modern PHP Cheat Sheet

According to Travis Weston, a private Packagist account can be too expensive for freelancers or small companies. Why not host your own for free?

How to host your own private Packagist for free (or extremely cheap)

Compression is a vital and effective way to increase the performance of web pages and web apps. PHP.Watch shows us how in this post.

Compressed HTTP Requests with Curl and PHP

They also have this article about using Sodium for encryption.

Modern PHP data Encryption/Decryption with Sodium extension

Our friends from an alternative PHP framework have this short article on their official blog.

Enforce the Disposal of Object in PHP

In PhpStorm’s latest blog post, you can read about how Inline method, Inline variable, and Extract variable will be improved in the upcoming release.

PhpStorm 2021.3 EAP #5: Improved Refactorings

Brent of stitcher.it  has been thinking about attributes vs annotations. After months of thoughts and discussions, He’s come to a conclusion: they are worth giving a try, albeit with some side notes attached.

The case for route attributes

 Les Tilleuls Coop provides a review of Forum PHP Paris. In French.

Retour sur le Forum PHP 2021 (partie 1)

Alexandre Daubois looks at what he calls“hidden features” in PHP, even if everything’s in the documentation. Several of these were new to me.

Bet you’ll learn at least one new PHP feature in this article?

Last Week

Noor Ali looks at memcached and how it speeds up websites having large dynamic databases by storing database objects in Dynamic Memory to reduce the pressure on a server whenever an external data source requests a read.

Using Memcached with PHP

Drush is a command-line shell and Unix scripting interface for performing various administration and development tasks with Drupal websites. The name is a portmanteau of “Drupal Shell.” 

Popular CLI tool renovated: what’s new in Drush 9 & 10

Last Month

Strivemindz has some good advice for how to approach enterprise-level applications.

Tips for Building Large-scale Applications in PHP

Code logo

Other

I am a Slack user but this is a great look at it and Discord from one of my favorite’s, the Kinsta Blog.

Slack vs Discord: Which Chat App Is Better for Your Team?

This was surprising to me considering GitHub’s Copilot has not been in use for very long.

Nearly a third of new code on GitHub is written with AI help

Speaking of GitHub, their blog added this post about security and compliance.

GitHub Actions for security and compliance

Venture Beat published this insightful opinion piece on the lean approach to development.

Why lean is the only viable development approach in a post-COVID world

The latest edition of the Docker Index is in, and it shows a continued growth in activity across the Docker community.

Docker Index Shows Momentum in Developer Community Activity

Have you published something related to Symfony or PHP that we missed? If so please 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 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 Memcached

 

 

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