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

Symfony Station Communiqué - 16 September 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.

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 you 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, Symfony development activity focused on ULID and UUID generation. In addition to fixing some bugs and adding new Max UUID and Max ULID values, we added support for UUID v7 and v8. Lastly, we published an article about solving the SPA or traditional app dilemma in Symfony applications.“

A Week of Symfony #819 (5-11 September 2022)

Symfony announced:

SymfonyCon Disneyland Paris 2022: The Evolution of Symfony: Now and to the Future!

SymfonyCon Disneyland Paris 2022: Let's play Jeopardy together!

SymfonyCon Disneyland Paris 2022: Dilemmas and decisions. What we've learned designing new Sylius API

SymfonyCon Disneyland Paris 2022: Symfony UX without JS toolchain?! #UseThePlatform

SymfonyCon Disneyland Paris 2022: Headless possibilities

SymfonyCon Disneyland Paris 2022: GNAP: The future of OAuth


Featured Item

Featured Item graphic

William Arin share that he “had a monolithic dream. While the world is falling apart into microservices, I had a vision of WordPress and Symfony merging together. The monolith was so big it could fill an ocean. The dream was so clear it was almost like I've done it. So I tried to do it, and it was actually much easier than expected.

Meet Sword.

Sword is WordPress run by Symfony. Your WordPress code has access to all Symfony features, while your Symfony code can be WordPress-independent. Build your theme or child-theme just like you would build a Symfony app.”

I plan on checking this out when I have time. Very interesting.

Sword: Symfony meets WordPress


This Week

Tutomarks shares this video.

Intégration de React dans Symfony

Why you would want to do this, I don’t know.

.com continues his series:

#9 Protecting from Concurrent Access

And has this exciting announcement of a new project:

Modular Monolith Application in Symfony

Jarek looks at:

Securing API With JWT In Symfony

eCommerce

Integral Service explores:

Sylius, comment mettre en place un mode catalogue

Graziano Casto starts a new series:

[PrestaShop] Extends original e-mail templates: the clean ways! (pt.1)

Jack Seifert asks:

WooCommerce Vs Magento: Which is the Best eCommerce Platform?

CMSs

Théodore Biadala shares:

A better Drupal marketplace ranking

The Drupal Association addressed the issue here:

Helping maintain high value Drupal contributions

Jacob Rockowitz provides an update on his blueprint module:

Schema.org Blueprints in 7 minutes

Previous Weeks

Markie shares:

Simplified Drupal Field Template (but the same markup rendered)

Ibra explores:

Batch processing with Symfony and Docker

PHP logo

PHP

This Week

Roman Ushakov examines:

PHP: attributes vs annotations. Optimising Doctrine metadata

H Bahonar show us how to:

Convert JPG, PNG, GIF and, WebP in PHP

Walter Nascimento explores:

DOTENV in PHP

Andrew Pogulailo looks at:

Collections — How to improve your PHP code

.com wants us to:

Stop Using the “Singleton” Pattern

And do:

Unit Testing Closures “The Right Way”

Dan Jones explores:

Accessing Private Properties in PHP without Reflection

Peham Raza shares:

Pro Tips: How to avoid database deadlocks when working with CRON jobs

Manjit Baishya is learning PHP and sharing some good insights.

Getters and Setters in PHP

Constructors in PHP

Matthias Noback asks:

Is it a DTO or a Value Object?

IT Exam Tools shares:

PHP's Most Important Practice Questions and Answers

Sergey Shkarupa looks at:

Closures in 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

WP Tavern reports:

WordPress.com Defies Marked Increase in Russian Takedown Demands

Wired reports:

Ukraine’s Cyberwar Chief Sounds Like He’s Winning

The Evil Empire Strikes Back

Decipher reports:

Iranian Attackers Upgrade Social Engineering Tactics

Cybersecurity/Privacy

Venture Beat reports on:

How zero trust can help battle identities under siege

More

Alexis C. Gridel shows us:

How to enable the new UI in Jetbrains products

Tyler Lacoma shares:

Here’s why people are saying two-factor authentication isn’t perfect

Maryam Sulemani explores:

MongoDB vs MySQL: Which database to use

Mickaël Andrieu looks at:

MySQL 8 et Machine Learning : la régression linéaire

Machine Learning with SQL: Linear Regression

And .com shares:

MySQL Backup Tool You Have Never Heard About

Speaking of SQL, OpenLampTech recently interviewed me.

Developer Interview with Reuben Walker

I enjoyed the interview and want to thank Joshua here.

Richard Rembert shares:

A Web Developers Workflow for GitHub

GitHub reflects on:

Building the future of the command line

And has:

8 things you didn’t know you could do with GitHub Copilot

GitLab is:

Pursuing faster time-to-merge for wider community contributions

Rizèl Scarlett asks:

Why are people developing inside containers?

John Collinsworth reflects on:

The self-fulfilling prophecy of React

There is a quote in here similar to what I have been saying till I am blue in the face. “The only thing React is good at is being popular.”

Fatfish (Catfish’s cousin) shares the:

5 Most Exciting ES2022 Features You Should Know About

Jason Knight says:

New Features Don’t Mean Stop Using Old Ones Completely!

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é - 1 July 2022

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

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

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. Be forewarned, I will be doing some rage posting.


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, Symfony officially introduced ux.symfony.com website alongside four new UX components (including a way to render React components and Ajax-powered autocomplete fields). In addition, it improved lazy services to allow using ghost objects and improved the usage of Enums in YAML config files.“

A Week of Symfony #808 (20-26 June 2022)

Symfony announced:

In case you didn’t know, SensioLabs is the company that created Symfony. They are celebrating.

SensioLabs celebrates its first 10 years

And:

Zoom in on Mastering OOP & Design Patterns workshop at SymfonyCon Disneyland Paris 2022

SymfonyCasts continues expanding their Symfony 6 Fundamentals Course.

This week on SymfonyCasts

Featured Item

Featured Item graphic

Nicolás Mercado looks at coding platforms and philosophy. How could that not be our featured item? The points he makes about WordPress apply to any platform.

What could Heidegger teach us about WordPress?

This Week

Sergii Demianchuk continues his look at Symfony and Elasticsearch

Symfony ElasticSearch - indexer symfony command

Tomas Votruba has:

Twig Smoke Rendering - Why do we Even Need it?

The Peoples Blog:

How to work with Twig Templates in Drupal?

Jeferson Guedes looks at:

Crie um servidor PHP + API Rest + GraphQL

Pascal Landau continues his series on Symfony and Make

Set up PHP QA tools and control them via Make [Tutorial Part 5]

eCommerce

Prestashop shares:

10 Powerful Modules to Integrate eBay & Amazon into PrestaShop

eCommerce events shares:

11 Reasons To Choose Magento 2 For eCommerce Development In 2022

CMSs

Palantir provides a:

Drupal Rector: Progress Update

Dropsolid make a solid argument as to:

Why Drupal is a Shark

Hashbang Code has the definitive (and I mean definitive) article on:

Drupal Testing Strategies

Previous Weeks

Tomas Votruba has:

Twig Smoke Rendering - Why do we Even Need it?

PHP logo

PHP

This Week

The PHP Foundation published:

PHP Core Roundup #3

PHP Watch has:

New composer audit Command and security audits in Composer 2.4

June newsletter

stitcher.io examines:

PHP version stats: July, 2022

Coding Karma has some:

Not So Obvious PHP Vulnerabilities

Mert Simsek shows us how to:

Reinvigorate PHPUnit Test Cases with Parallel Testing

Crell ruminates:

On the use of enums

Kodwings shows us how to use the:

PHP recursive function to generate a parent/child tree

Again, Dino Cajic has PHP tutorials for us:

PHP — P60: Abstract Classes

PHP — P61: Interface

PHP — P62: Traits

He’s into the good stuff now. 63 and 64 are out as well.

Chris Wolf has this fantastic article:

ddev: Easy Docker handling for web developers

Pascal Landau shows us:

How to build a Docker development setup for PHP Projects [Tutorial Part 1]

Jetbrains announced:

Increased Subscription Pricing for IDEs, .NET Tools, and the All Products Pack

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

Venture Beat reports:

Ukraine deploys a DDoS protection service to survive the cyberwar

Fast Company reports:

The war in Ukraine hasn’t ended. Here’s how these founders continue to build their businesses.

The Guardian reports:

US blocks company worth over $1bn linked to Russian oligarch

The Evil Empire Strikes Back

The Jerusalem Post reports:

Brutal Russian invasion of Ukraine has transformed cybersecurity

TechSpot reports:

Microsoft warns of increased Russian cyberattacks on countries supporting Ukraine

The Hill reports:

Russian-backed hackers target Lithuanian websites

Ars Technica

China lured graduate jobseekers into digital espionage

Cybersecurity/Privacy

4 1/2 c⭐nts pictured here

Since six c⭐nts on the supreme court have decided half the U.S. population does not have a right to privacy, we’re renaming this section to Cybersecurity/Privacy.

I wasn’t sure whether to put this under the evil empire or cybersecurity/privacy.

But, the Guardian has:

Tech firms under pressure to safeguard user data as abortion prosecutions loom

MIT Technology Review reports:

Big Tech remains silent on questions about data privacy in a post-Roe world

The Washington Post has:

Seeking an abortion? Here’s how to avoid leaving a digital trail.

Here’s some more great advice for anyone interested in privacy. And you fucking should be.

Where We Go From Here

Protocol reports:

Big Tech is still preparing for post-Roe. It should already be planning for the next SCOTUS ruling

In a great article, Rohan Kumar explores:

Two types of privacy

The Next Web reports:

Firefox continues its fight for privacy by automatically stripping URL trackers

The Register reports on the:

Anatomy of a campaign to inject JavaScript into compromised WordPress sites

The MIT Technology Review reports:

The hacking industry faces the end of an era

Protocol reports:

Cybersecurity hype keeps building around XDR. So does confusion.

Forbes reports:

Okta Gives Back With Launch Of Nonprofit Cybersecurity Portfolio

ZDNet reports:

These are the 25 most dangerous software bugs you need to worry about

Cosmos Magazine reports:

New cybersecurity tool covers some yawning website gaps

Engadget reports:

FCC Commissioner urges Google and Apple to ban TikTok

More

Docker announced:

New Extensions, Improved logs, and more in Docker Desktop 4.10

Matthew Butterick has this tongue-in-cheek article for us on GitHub’s CoPilot.

This copilot is stupid and wants to kill me

GitHub itself has:

Improve Git monorepo performance with a file system monitor

Write Better Commits, Build Better Projects

And the Software Freedom Conservancy advises:

Give Up GitHub: The Time Has Come!

9 Best GitHub Alternatives in 2022

Semrush shows us:

How to Sync Data Between Different Databases

OpenLampTech has a:

Developer Interview with Ben Brumm

Ben is of DatabaseStar fame.

ZDnet reports:

Facebook's Meta is transferring the 'most used' JavaScript test framework to OpenJS Foundation

Dusted Codes opines:

Fund OSS through package managers

ADEO has this very solid article:

ADEO Design System: Building a Web Component library with Svelte and Rollup

Pragpub has a grumpy old man rant for us:

Tangled Up in Tools: What’s Wrong with Libraries, and What to Do About It

As a fellow grump I sympathize. ;) See my somewhat similar rant.

But, I am not always pissed off. Once in a full cold blue wolf harvest moon, I have a moment of joy. ⬇️

Reuben Walker with PHP Architect elePHPhant
PHP Architect elePHPhant finds a home.

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.

 

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é - 15 April 2022

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

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

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

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

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

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

Symfony

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

Highlight -> “This week, Symfony celebrated the SymfonyLive Paris 2022 conference, one of the first official non-virtual Symfony conferences since the COVID-19 pandemic started. The next opportunity to meet the community in person will be the SymfonyCon Disneyland Paris 2022 conference on November 17-18, 2022. Meanwhile, we started publishing the New in Symfony 6.1 blog posts in preparation for its upcoming release.”

A Week of Symfony #797 (4-10 April 2022)

Javier Eguiluz previews upcoming features of the 6.1 update.

New in Symfony 6.1: Improved ExpressionLanguage Syntax

New in Symfony 6.1: Locale Switcher

This is self-explanatory.

Symfony 6.1.0-BETA1 released

They also announced:

First selected speakers announced at SymfonyWorld Online 2022 Summer Edition

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

This week on SymfonyCasts

Platform. sh announced:

Platform.sh Renews Partnership with Adobe to Power the Future of Commerce

Featured Item

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

Our featured article this week proves we aren’t always serious. But we are usually mad.

Please reply with a link to this article every time you see a “PHP is dying” post from some idiot.

PHP Is Not “Dying” You Clickbait Wankers!

This Week

We have a new article here at Symfony Station. Check out:

Exploring the 7 PHP Frameworks using Symfony Components

JoliCode has a review of SymfonyLive Paris 2022.

SymfonyLive Paris 2022 – En chair et en os

Demianchuk Sergii writes, “welcome to the 3rd article devoted to the theme: “How to work with ElasticSearch using Symfony PHP framework”. Previous article (Part 2: Symfony ElasticSearch and docker environment) is located here. Here we will start to investigate the Symfony skeleton project. But at first it would be great to refresh in our mind the architecture scheme from the Part 1: Symfony ElasticSearch.

Symfony ElasticSearch, Front Controller, API documentation

Eelco Verbrugge is back to review.

Symfony Unit Testing

Prestashop features a key member of their team in this article.

Merchant, freelance developer, and top contributor: Daniel Hlaváček’s experience with the PrestaShop project

Zoya Scoot has this Magento writeup.

Magento Open Source 2.4.4: Release Notes (Everything You Need to Know)

Kévin Dunglas says, “At SymfonyLive Paris, I introduced a new PHP library to build Solid applications: Solid Client PHP. In this presentation, I review the Solid protocol and how it could give back the control of personal data to end-users.”

Building Decentralized Web Apps with Solid and PHP

Matt Glaman advises:

Avoid using loadByProperties to load Drupal entities

Altudo opines, “The competitive advantage that Drupal has over other Content Management Systems is being an open-source CMS. It is economical to implement, easy to maintain and secure to use. It is a platform that excels in delivering the right content to the right people at the right time.”

Drupal - The Best Open Source CMS With Significant Features

J Rockowitz writes, “Every few years, organizations have to rework their digital strategy starting with establishing a web presence, adopting a CMS, sharing content, building a responsive mobile website, creating personalized user experiences, and authoring voice-friendly content. This list won’t stop there. Headless CMSs are not a trend - they are a major shift in how organizations create and manage their content to make it easier to future-proof an organization's digital strategy for their next digital challenge.”

The future of our Drupal CMS and Schema.org: APIs, UI, and UX

PHP logo

PHP

This week

Wooter Carabain helps us write clean code.

Clean code in PHP: 5 tips to help you!

Security Lit Limited notes, “In this blog article we shall be covering vulnerabilities that you could experience while dealing with PHP applications. Some vulnerabilities are particular to PHP, whereas the others are universal.”

Vulnerabilities in PHP Based Applications

Kpicaza writes, “As promised in our previous post about Async PHP, we already have the project running in production for some sections of our applications. The search middleware has good enough performance using Symfony MicroKernel + Road Runner as a server.

This time, we want to explain how to manage a strict development continuous integration pipeline in PHP. That means respecting the best practices and standards of the PHP language.”

Strict Development CI for PHP

Grant Horwood notes, “there's not a tremendous amount of documentation on writing command line scripts in PHP, and if you're looking to build an interactive script that leverages your existing code, the process can be frustrating. This series of posts is designed to cover the basic constructs we will need to write effective interactive scripts in PHP.”

Writing command line scripts in PHP: part 3; interactive input

Doeke Norg says, “Sometimes it can be useful to use a callback function or other callable to prevent a bunch of code duplication.

Let's say you have an event subscriber that encrypts and decrypts data in the life cycle of an entity. When the entity is stored, some data will be encrypted; and when the entity is loaded, the data will be decrypted.”

Quick tip: Using callbacks to prevent code duplication

genie-oh writes, “in this article, we use Closure (same to Anonymous Function) to reduce the overhead of debug logging with contextual data. Anonymous Function is useful in various cases and languages.”

[PHP] try to reduce overhead of debug logging using Closure(same to anonymous function)

Jordi Bassaganas says:

PHP Became Strongly-Typed

Lucas Pereyra has:

A quick performance optimization example using PHP generators

He also notes, “A couple of days ago, ... I started to struggle with a docker compose build problem when attempting to install my PHP dependencies using Composer, inside of the Dockerfile’s container building steps (these are the steps executed when you run a dockercompose build).

I decided to share with you this issue and a couple of workarounds you can apply when facing it, with a simple yet practical example.”

Docker Compose, PHP & Composer: the missing “vendors” folder issue

Lena Charles shows us how to:

How to Hire the Best PHP Developers

And Antonello Zanini show us how to build a PHP script to validate and verify emails.

Email Syntax Validation and Existence Verification in PHP

Laravel News shares the details on a newly free PHP book.

BaseCode: A Field Guide to Writing More Readable Code

A new version of the PhpStorm IDE is out.

What’s New in PhpStorm 2022.1

Last Month

PHP Sandbox reached their 10,000th user.

10k users: The Journey

Timeless

Shawn McCool says, “When we create a class, we give it a name. What does this name represent?

Classes are boundaries. On the outside is the rest of the entire world. On the inside is some combination of data and behavior.

What goes inside a class and what stays outside? In order to determine what is contained within a class, we reference its design paradigm.”

Adding Real Capabilities To Systems Through Naming

PHP Delusions writes, “During a decade of active participation on Stack Overflow I was able to determine a set of reasons that lead to the most frequent questions on Q&A sites. It turned out that most questions are caused by not following a rather limited set of basic principles.

These principles, although being universal, are almost as universally ignored or even violated in virtually every PHP tutorial out there. And I would say it's one of the biggest problems of PHP community.”

The most important basic principles of web programming

Code logo

Other

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

The Atlantic opines, “Americans need to cure what ails our democracy, ridding ourselves of our incipient Russification. ... I worry that we’ll soon forget about Ukraine. It’s far away, and Americans have famously short attention spans.”

I Worry We’ll Soon Forget About Ukraine

We sure as fuck won’t forget Ukraine.

The cyber response to Russia’s War Crimes

Wired reports:

How Russia's Invasion Triggered a US Crackdown on Its Hackers

They also have:

Russia Is Leaking Data Like a Sieve

TechCrunch reports:

Microsoft seizes domains used by Russian spies to target Ukraine

Bleeping Computer writes, “A hacking group used the Conti's leaked ransomware source code to create their own ransomware to use in cyberattacks against Russian organizations.

While it is common to hear of ransomware attacks targeting companies and encrypting data, we rarely hear about Russian organizations getting attacked similarly.

Hackers use Conti's leaked ransomware to attack Russian companies

The Evil Empire Strikes Back

MIT Technology Review reports:

Russian hackers tried to bring down Ukraine’s power grid to help the invasion

TechCrunch also reports that “U.S. government agencies are warning that state-backed hackers have developed custom malware that enables them to compromise and hijack commonly used industrial control system (ICS) devices.”

US warns of state-backed malware designed to hijack critical infrastructure systems

Cybersecurity

TechCrunch also says:

The US needs a tech doctrine

This should apply to any democracy.

ZD Net reports that “Microsoft takes control of ZLoader's botnet infrastructure, which is used to spread malware and ransomware.”

Microsoft: We've just disrupted this ransomware-spreading botnet

More

Did you know if you’re a paid member of Medium you have access to these resources?

Directory of Books from The Pragmatic Programmers on Medium

PragPub on Medium

Khalil Stemmler asks:

Is DDD Overrated?

Laravel News reports on a:

Style Guide Generator for Tailwind CSS

ZDNet also writes:

Sorry, developers: Microsoft's new tool fixes the bugs in software code written by AI

And to the applause of JS Geeks everywhere,

Microsoft launches TypeScript 4.7 Beta

Kinsta asks and answers:

What Is PostgreSQL?

Joshua Otwell has this helpful article.

Multi-level Aggregation Using MySQL GROUP BY WITH ROLLUP

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é - 18 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 again 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 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.

 

Symfony

 

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

Highlight -> “This week, Symfony development focused on fixing bugs and finishing new features for the upcoming Symfony 6.1 version. One of those new features is a button to copy requests as cURL commands in the Symfony Profiler. Meanwhile, the SymfonyLive Paris 2022 conference, which will take place in just 4 weeks, announced its complete workshop and talk schedule.

A Week of Symfony #793 (7-13 March 2022) (Symfony Blog)

 

Early bird registration for SymfonyCon Disneyland Paris 2022 ends on March 31st

 

Unsurprisingly after the recent merger they announced:

Symfony in the Cloud: Platform.sh becomes the official Symfony PaaS

 

Fabien Potencier asks “How can you get started with Symfony 6? What are the best resources to learn Symfony? How can I learn about the latest best practices? Those are legitimate questions I get from the community.”

Get started with Symfony 6

 

SymfonyCast has started a new course on Symfony 6!

This week on SymfonyCasts

 

Elise Hamimi reports “As the creator of Symfony, SensioLabs strengthens its relationship with its long-time partner in the US: Unleashed Technologies. This strategic partnership is the result of successful joint projects with Unleashed Technologies. In 2022, SensioLabs and Unleashed Technologies are speeding up to better serve American users of Symfony.

SensioLabs strengthens its partnership with Unleashed Technologies

She also has:

Learn how to migrate to the PHP framework Symfony

 

Featured Item

 

Featured Item Graphic

 

Forbes writes Ukraine’s IT pros are “ fixing internet in bombed-out buildings, finding rogue operators providing Russians with mobile connections and thwarting hackers. The telecom companies of Ukraine and their employees are being hailed as heroes in the war.”

Bombs And Hackers Are Battering Ukraine’s Internet Providers. ‘Hidden Heroes’ Risk Their Lives To Keep Their Country Online

 

If these heroes can do this, we can do more ourselves to stand with Ukraine and protect democratic values.

 

This Week

 

Sergii Demianchuk writes “welcome to the second article devoted to the theme:  “How to work with ElasticSearch using Symfony PHP framework”. Here we will prepare our local environment for further development. As you remember from Part 1 we have to create a web server, microservice application, and Elasticsearch as standalone docker containers.”

Symfony, Elasticsearch, and Docker environment

 

Michał Romańczuk notes “There are many tools for static PHP code analysis, but one of the most popular is PHPStan. It may be due to its ease of use, versatility and the possibility of using many extensions for example to Symfony, Doctrine, Elasticsearch, Monolog, Guzzle, etc.”

Using PHPStan with Symfony - static analysis for better PHP code quality

 

Fabien Lemoine show us “How to combine the power of the Symfony Mailer component with the features offered by an email provider.”

Envoyer des e-mails transactionnels avec un service tiers sous Symfony

 

Mchojrin takes a look at how to handle exceptions in Rest APIs with Symfony. It’s in Spanish.

Cómo manejar las excepciones en API Rest con Symfony

 

Webkul writes “PrestaShop employs various types of cache such as Smarty, assets (CSS/JS), XML cache, etc. It also provides ways to clear individual cache types from our module. So in this blog, we will discuss how we can clear PrestaShop cache in module code.”

Clear PrestaShop Cache in module

They also have:

Custom Events and Event Subscribers in Symfony

 

Sylius notes “Since the very beginning of Sylius’ existence, our philosophy was to focus on our domain and not reinvent the wheel. That’s why Sylius is entirely based on Symfony which gave us a solid foundation to build specific e-commerce bundles within the already existing and highly standardized framework.

Following the very same core idea, Sylius never intended to solve problems of other domains. There are wonderful tools in different categories, which allows us to focus on what we know best – the e-commerce domain.”

Why best-of-breed is the best thing that can happen to your mid-market e-commerce?

I agree that unless you have a small and simple application, best-of-breed is the way to go for your stack.

 

Joseph Ndedde Udonsak writes “Recently, I was working on a feature and needed to generate and mail a PDF document whenever a payment was made. I dispatched a Message and in the message handler, I used the KNP Snappy Bundle to generate a PDF from a twig template. It was pretty straightforward (or so I thought) until I saw the mayhem that had been let loose in my failed transport.

Today I Learned — Twig and Services

He also has:

How to inject multiple instances of an interface in a service

 

The Drop Times has an interview with Drupal’s founder with some interesting takes on headless and low code.

Dries Buytaert: Low Code No Code Adoption Good for Drupal

 

And speaking of headless Drupal here’s an article and a solution taking a look.

Five basic things I’ve learned using GraphQL in Drupal

 

The future of Drupal is headless

Dries disagrees with the headless opinion and so do I. That applies to WordPress as well.

 

Ryan Szrama writes “We've long recommended Swift Mailer for formatting and sending HTML emails from Drupal Commerce. Symfony announced the project's deprecation late last year, recommending folks switch to using the 3-year-old Symfony Mailer instead after they brought it up to full feature parity with the Swift Mailer library.

Fortunately, there's a module for that!”

Replace Swift Mailer with Symfony Mailer for HTML email

 

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

 

Dariusz Gafka writes “We often need to schedule the execution of given business functionality in our applications. The timing depends on what we want to achieve. It may be monthly executed invoices or notifications sent after the user was registered on the website. And in this article, we will deep into different ways of scheduling execution in PHP.”

Scheduling Execution in PHP

 

PHPStan asks:

What's Up With @template-covariant?

They also look at:

Generics By Examples

 

Digital Ocean shows us:

How To Use Functions in PHP

 

Gaurav Makhecha says, “Thanks to the PSR-4 autoloading, we can define the namespaces prefix and their corresponding base directories.”

PHP Namespaces are not the same as the Directory Structure

 

Marcin Szydlowski writes “I have recently spotted an interesting vulnerability in a PHP application, which was in the scope of a private bug bounty program. This vulnerability has nothing to do with standard web app issues like SQLi, XSS, or IDOR, hence despite relatively small impact I decided to write about it.”

Insecure comparison in PHP — Business Logic Bypass vulnerability

 

Brent Roose & Freek Van der Herte are starting a series of posts with tips for writing clean PHP. They’re from a course the duo offers.

Code that breathes

 

Joshua Otwell says, “I'm sharing my 5 favorite Programming/Developer newsletters that I think you should read too.”

5 Developer/Programming Newsletters You Should Be Reading

There are good SQL and PHP choices on the list.

 

Meet Simseck states “I’d like to talk about Swoole in this article but it won’t be covering the cumbersome processes such as installing, configuring, using, and so on. I’d like to cover the philosophy behind it. Why do we need it in the PHP world? Which scenarios are the best to use this kind of external package/extension?”

Let’s Tackle PHP Swoole Solemnly

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

 

MarketWatch writes “One reason that some military analysts and Russia experts believe may have contributed to Putin miscalculating his chances of a quick victory, or his ability to outlast the Ukrainians, is that he underestimated the efficacy of Western sanctions in sapping Russia’s power to wage war, specifically by denying it access to critical technologies.”

Putin tried to create a homegrown tech industry. His failure could be key to a Russian defeat, experts say

 

The Hill notes “With the assistance of the West, Ukraine has become more resilient since the initial cyberattacks, especially given that it is uniquely vulnerable to Russian attacks since most of its infrastructure was built by Moscow during the Soviet era.”

US and EU cyber investments in Ukraine pay off amid war

 

Reface, a synthetic media app that’s developed out of Ukraine has added push notifications informing its ~200 million-strong global user-base about Russia’s invasion of the country — urging people to #StandWithUkraine, including by watermarking face-swapped videos created with the app.

Reface, a viral face-swap app from Ukraine adds anti-war push notifications

 

Wired writes, “Within three days of the first missiles falling on Kyiv, Mykhailo Fedorov and his staff launched a public campaign to pressure US tech giants to cut off Russia, began accepting cryptocurrency donations to support Ukraine’s military, secured access to Elon Musk’s Starlink satellite internet service, and began recruiting a volunteer “IT Army” to hack Russian targets. More recent projects include a chatbot for citizens to submit images or videos of Russian troop movements.”

Ukraine’s Digital Ministry Is a Formidable War Machine

 

The Guardian reports “about 300,000 people have signed up to a group on the chat app Telegram called “IT Army of Ukraine”, through which participants are assigned tasks designed to take the fight to Vladimir Putin. In so doing, they are trying to level the playing field between one of the world’s (so-called) superpowers and Ukraine as it faces bombardment and invasion.

‘It’s the right thing to do’: the 300,000 volunteer hackers coming together to fight Russia

 

Anonymous continue their efforts.

Anonymous releases 364,000 files about Russia's censorship of invasion

 

They also hit the German subsidiary of Russian energy giant Rosneft with a cyberattackRosneft withal Office for Information Security (BSI) says.

Hackers target German branch of Russian oil giant Rosneft

 

Fast Company reports on how “A group of techies-turned-hackers called the Cyber Partisans are targeting railways carrying Russian troops and exposing a brutal Belarusian regime.”

How hackers in Belarus are complicating Putin’s Ukraine invasion

 

Rest of World asks:

In Ukraine’s cyber-war with Russia, who is a civilian, and what is a war crime?

 

The Wall Street Journal notes “People around the world are using a new website to circumvent the Kremlin’s propaganda machine by sending individual messages about the war in Ukraine to random people in Russia.”

Using a New Cyber Tool, Westerners Have Been Texting Russians About the War in Ukraine

 

The Guardian also notes “Experts say both sides may understand that large-scale cyber-attacks will result in ‘mutually assured destruction of systems’.”

‘Catastrophic’ cyberwar between Ukraine and Russia hasn’t happened (yet), experts say

 

Cybersecurity

 

I thought this would have been a no-brainer but:

Germany warns against using Kaspersky software citing 'considerable' cyber risk after Russia's invasion

 

VentureBeat reports “Cloudflare unveiled a new tool in its suite of security offerings, the Cloudflare API Gateway, which seeks to simplify the protection of increasingly prevalent application programming interfaces (APIs). The solution also aims to feature a significantly lower price point than many of the other API security products now on the market, which could go a long way toward “democratizing” API security for the market.

Cloudflare aims to boost API security with a new gateway

 

On the Public API Network, Postman gathers some of the best APIs to ramp up productivity including Notion (just released to GA!), Peruse Code, and Machine Learning Tools for Developer Professionals.

Build Software Faster with These Productivity APIs

 

This was from a while back but is worth another look. Via Github:

The Open Source Software Security Summit: securing the world’s code together

 

C.S. Rhymes says, “GitHub offers a dependabot service that can let you know of any potential security issues with your dependencies and automatically create a Pull Request for you. This works great without any configuration if you have a repo that contains npm, composer, or gem dependencies, but you may need additional configuration if your lock files aren’t in the root directory, or in separate directories in the case of a monorepo.”

Using GitHub Dependabot with a Monorepo

 

GitHub also has a video exploring “ some of the shortcomings of legacy application security solutions, and share a developer-first approach that can help your organization overcome challenges with an end-to-end security process and improved collaboration.”

Developer-first security: The next step for AppSec

 

If you are having trouble getting cybersecurity buy-in with your CEO or CFO, share this with them. Plus, it’s a good review for anyone.

Cybersecurity: What Every CEO and CFO Should Know

 

More

 

Core DNA writes “We take a close look at the evolution of the CMS platform, specifically, how the management of content has changed and how platforms have been designed to cater for the changing browsers, new channels, and client needs.”

Custom CMS & Backend Frameworks Be Damned

 

Postman asks us to “Explore the World of APIs. Browse the largest network of APIs, workspaces, and collections by developers across the planet.”

Postman API Network

 

Ben Gurney shares an effective way to approach improving the web accessibility of your apps.

My secret to better web accessibility

 

Chris Saxon notes “We all know that many modern apps rely on REST APIs to talk to other services, especially in the cloud. We all know those APIs usually send and receive data using a recent innovation: JavaScript Object Notation (JSON) documents. And we know there are a lot of methods for storing, managing and sharing these documents in your applications.

What many people don’t know is that the best way to manage JSON is with a seemingly ancient tool: the SQL language. Let’s look at why that is and five examples of how to do it.”

Why (and How) You Should Manage JSON with SQL

 

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

 

 

 


 

Exploring the 12 eCommerce Platforms of Symfony

A white paragraph.

 


 

Symfony Station Logo

symfony logo

 

 


 

 

Researching eCommerce Platforms built with Symfony?

 

If you are this article, will explore all the ones available and provide their relevant details.

Some people say eCommerce is the future. In reality, it is the dominant form of commerce now. And it's a lucrative field of work for PHP developers.

In fact, Statista reports "the number of digital buyers keeps climbing every year. In 2020, over two billion people purchased goods or services online, and during the same year, e-retail sales surpassed 4.2 trillion U.S. dollars worldwide."

 

eCommerce and Symfony

 

So, let's start exploring the Symfony eCommerce platforms.

Technically, the platforms covered in this article aren't of Symfony but built with its components to various extents.

Some of them have the capability to incorporate Symfony Bundles. Most are customizable. Some are headless. Most are coupled.

If you aren't familiar with Symfony, it's a set of 50 stand-alone, reusable PHP components available for any application. And it's also a PHP framework for web projects that third parties can build bundles for in order to extend and customize functionality.

Our exploration is for those developers or site owners evaluating eCommerce solutions. However, it will be particularly handy for those searching for one tightly tied to the Symfony framework. I recommend bookmarking this article as a reference while you hunt for the perfect platform for your project.

I have not worked with an eCommerce project at Mobile Atom Code so my personal insights will be limited. This article is more of an "easier to digest" version of the information on the Symfony site. It's not likely to win a Pulitzer being more documentation than documentary. But I hope it will prove useful to you.

If you have opinions be sure to contact us to provide input for possible updates to this article. Also, if you know of good items to curate on social media, please share them with us.

 

What is covered

Each platform overview will provide:

  • A description from Symfony of the eCommerce solution
  • A list of Symfony Components it uses
  • A few points from the platform about its advantages
  • A link to its site for more information

If you want information on a specific eCommerce solution, click the link below to go to its section. Please take advantage of our back-to-the-top arrow as needed for comparing two platforms at opposite ends of the list. I provided links to the components in case you want more information about particular ones.

The list of solutions built with Symfony Components is extensive and includes:

 

Again, I will provide a quick summary of each solution as described by Symfony and their benefits as touted by the platforms themselves. This info will be in quotation marks.

I made some adjustments to the sales pitches for grammar and readability.                                            
 

Magento

 

Magento is a large eCommerce platform with open-source and Adobe implementations. But, it doesn't use as many Symfony components as some of its competitors.

"Magento offers flexible, scalable eCommerce solutions designed to help you grow and succeed online. Our cost-effective technology platform makes it possible for you to control the content, functionality, and look and feel of your online store."                                            
 

Symfony components used in it include:

 

Adobe says, "We build experiences, not just storefronts.

 

Adobe Commerce has powerful tools to let you confidently launch, manage, and scale your business, including the ability to host multiple instances on one platform, and cloud deployment, while native integrations with Adobe products like Analytics, Target, Experience Manager, and Creative Cloud help take personalization to the next level."                       
 

The official site of Adobe Commerce Magento

 

The site for Adobe Open-Source Magento                       
 

PrestaShop

PrestaShop is a well-known "Symfony eCommerce platform."  And it legitimately earns the accolade as it uses many Symfony components.                      

"PrestaShop is an Open-Source eCommerce solution used by more than 250,000 online stores. PrestaShop is simple, efficient and intuitive, enabling users to thrive in a competitive market regardless of size, industry or revenue."                      

 

The Symfony Components PrestaShop uses:

 

PrestaShop says, "PrestaShop is an efficient and innovative e-commerce solution with all the features you need to create an online store and grow your business."

You can run your shop in multiple languages. In addition, it has a clean backend interface that reminds me of wordpress.org sites.

 

The official site of PrestaShop                                            
 

Sylius

 

 

"Sylius is an Open Source eCommerce Framework based on Symfony full-stack. The technology is constructed from fully decoupled components (bundles in Symfony terminology), which means that every feature (products catalog, shipping engine, promotions system...) can be used in any other application. It integrates easily with existing systems and guarantees fast time to market. Built with testing in mind and a high level of code quality, Sylius is exceptionally flexible and easy to use. Its wide and friendly community is always ready to help with any issue. Finally, it is fully documented."                                            
 

Symfony components used by this platform include:

 

Sylius is the solution I have been most impressed with. It works with Platform API and claims to be the number 1 Symfony eCommerce solution.

Sylius says, "Sylius is an Open Source Headless eCommerce Platform for mid-market and enterprise brands that need custom solutions. With a modern approach to the professional development of projects, it allows the evolution of your digital stack at the pace that beats your competitors and delivers the experience your customers deserve."                                         
 

The official site of Sylius                                            
 

Shopware

 

 

"Shopware is a complete eCommerce solution, combining a full range of functionality with a masterfully crafted simplistic design suitable for novice and expert alike."

 

It uses these Symfony components:

 

Shopware says: "Build the Exceptional with the leading Open Commerce Platform. Shopware offers you cutting-edge, highly adaptable eCommerce solutions trusted by the world's most acclaimed brands. Create outstanding customer experiences, innovate fast, and accelerate your growth in the ever-evolving space of digital commerce. You decide how far you want to go, and we'll be by your side."                                       

The official site of Shopware                                    
 

Sonata

 

 

Sonata is also a full Symfony eCommerce platform. Plus, it has the bonus of working with their non-commerce bundles.  But, it also seems to be based on an old version of Symfony.          

"Sonata e-commerce is a group of Symfony bundles & PHP components allowing you to add e-commerce capabilities to your Symfony applications. It's also fully compatible with several other Sonata bundles, such as AdminBundle and NotificationBundle."          

 

Components used by this project include:

 

 

They don't have a site just documentation that says, "Sonata is an open-source e-commerce solution based on top of Symfony2." :(                                        
 

The official Sonata documentation                                            

 

EC-CUBE

 

 

This platform is also heavily Symfony-based.

"EC-CUBE is an open-source package used to build eCommerce sites. It is the most popular shopping cart system in Japan. Since the release of the version in 2006, users can build e-commerce sites for free. Due to its drag and drop functionality, users with no programming experience can create original online shops with ease."

 

EC-CUBE uses these Symfony components

 

 

It says in translated Japanese, "Using "EC-CUBE", which is open source, hundreds of e-commerce industry experts are conducting business, such as major e-commerce service operators in Japan and production companies that specialize in building E-Commerce. By continuing to evolve with this partner, we can meet the complex needs and latest challenges in e-commerce. It is leading the activation of ec itself.

The official site of EC-CUBE                                            
 

Aimeos

 

 

I've seen a bit of coverage for Aimeos but I'm not very familiar with it. The platform uses a minimum of Symfony components. It ties in with TYPO3.

"Aimeos enables you to do #gigacommerce! From one to 1 billion articles and from simple to complex products in your online shop, Aimeos is the first choice if you have non-standard requirements. With Aimeos, you get a professional, full-featured, well-tested and highly customizable e-commerce bundle for Symfony split into several independent components like HTML frontend, JSON REST API, and administration interface. For a quick start, a working demo shop including most of the features is set up during installation."                                

 

They include these Symfony Components:

 

Aimeos claims to be "The Symfony eCommerce framework: Ultra fast, Open-Source, and scalable to gigacommerce" Whatever that is.                                           
 

The official site for Aimeos                                  
 

Theila

 

"Thelia is a tool for creating e-commerce websites and for online content management, published under General Public License. Thelia differs from competitor applications due to the ease with which it can be used and customized."  It also uses many Symfony components.                               

 

Theilia uses:

 

They say, "Thelia is a powerful and efficient solution to create tailor-made online shops. Since 2005, Thelia runs hundreds of online shops in France and around the world. Many e-merchants trust our platform for the success of their online business."                                            

 

The official site for Thelia                                            
 

Spryker

 

 

"Spryker is the commerce operating system for customer focused companies. Spryker gives you the freedom to implement, test, and reinvent new customer interfaces in no time, ensuring you the best possible access to your market at all times."                                            

 

Symfony components used by Spryker:

 

"Spryker is different, so you can differentiate. Looking to transform or grow your existing transactional business or start something new? Perfect! Want to stand out? Spryker’s modular, headless cloud platform-as-a-service for digital commerce has you covered, too."                                            

 

The official site for Spryker                                            
 

OroCommerce

 

 

"OroCommerce is an open-source Business-too-Business Commerce application built with flexibility in mind. OroCommerce can be customized and extended to fit any B2B commerce needs." It takes advantage of almost every Symfony component.                                            

 

Symfony Components used:

 

OroCommerce says it's "built for wholesalers, distributors, brands, and manufacturers. Our B2B eCommerce solution expands your business into new markets with an online and mobile presence. Digitize your product catalogs, enable online ordering, and provide flexible payment options with a platform that supports both headless commerce and traditional eCommerce."     

                                       

The official site for OroCommerce.                                            
 

Shopsys Framework

 

"Shopsys Framework is a scalable PHP framework for fast-growing eCommerce sites created and maintained by in-house developers or outsourcing companies. Our product provides the tools and know-how to help save thousands of dev-hours in the short and long term growth of eMerchants and their websites."                       

 

Symfony components used by Shopsys include:

 

The Shopsys Framework sayz, "We care about your success in the omnichannel world. Shopsys specializes in providing eCommerce technology and know-how for large retail companies facing digital transformation. With an 80-member team of experienced developers and consultants, we can offer our clients integrative and comprehensive services to succeed."                           

 

The official site for Shopsys Framework                           
 

Uvdesk

 

Uvdesk has minimal Symfony integrations and isn't an eCommerce platform. It's a help-desk system that ties together eCommerce solutions, CMSs, CRMs, etc. But, Symfony lists it so I will include it here.                                          

"UVdesk offers a SaaS-based and Open-source help-desk solution to ease the overall support process for delivering the best customer service. It's ready for eCommerce, Marketplace, and Multichannel sites."                                            
 

Symfony components used by Uvdesk:

 

Uvdesk says "Enjoy the adaptability and extensibility of PHP-based Helpdesk System which is fit for any trade to deliver better customer support experience."                                            
 

The official site for Uvdesk        

 

Summing it up

 

Congratulations. You have reached the end of this lengthy overview. Color me impressed.

As you have seen, there is a wide variety of eCommerce platforms built with Symfony components.

They range from full-featured plug-and-play ones to those easily customized on the front and backend to more template-like ones that let you build a solution your way.

I hope you found it helpful in searching for the perfect Symfony-based eCommerce solution. Or at least the best one for your project.

Bookmark this article if you are still undecided, and thanks for reading.

 

If you think others could benefit, please share this resource.

 

More to explore

 

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é - 25 February 2022

A white paragraph.

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 week, Symfony introduced the Twig 3 certification and updated the official Symfony book to showcase Symfony 5.4 and 6.0 versions. In addition, SymfonyLive Paris 2022 conference announced more speakers and more workshops.”

A Week of Symfony #790 (14-20 February 2022)

 

SymfonyLive Paris, the French Symfony conference welcomes the latest conference speakers and their talks.

Last talks and speakers announced for SymfonyLive Paris 2022

 

They also announced that:

Symfony 6.1 will require PHP 8.1

 

Featured item graphic

 

Featured Post

 

Happily, we ran across this oldie-but-goodie. Sometimes wit works best. It will be your favorite read of the week.

 

Probably the greatest Medium post comment of all time.

 

Symfony

 

Jordi Bassaganas writes “a few more issues have been closed recently on the ChesslabLab organization on GitHub, this time on the Chess API repository. As you probably know, the PHP Symfony framework is being used to deploy a REST API with awesome features that chess web developers will absolutely love, and now you can download images and videos representing your favorite games.”

Symfony Examples of API Endpoints to Download Files

 

Sumit has this for us:

Autowiring in Symfony

 

Łukasz Chruściel writes “You might have already heard about it – Sylius v1.11 is live! The release comes with a long-expected feature – Catalog Promotions, but this is not all that has changed since the previous release. Also, the feature itself comes with a few details that you may be curious about. All these updates will be covered here.”

How we got to Sylius 1.11 release – a developer’s perspective

 

Andreas von Studnitz says, “In this blog post, I’d like to discuss some (recent Magento) announcements and address some misconceptions currently expressed by some members of the e-commerce community.”

Magento’s LTS version: The next step in the Magento life cycle

 

Mickaël Andrieu writes “je travaille sur un projet de segmentation de base clients pour la validation de mon titre d’Ingénieur Machine Learning et je fais bosser mes propres élèves en Master 2 Data Marketing sur la segmentation d’un site e-commerce développé sur PrestaShop.”

Faire du Machine Learning avec PHP ? Challenge accepted!

 

Webkul notes “In this blog, we are going to learn how to set up namespace and define services in Prestashop and also, how to get the service in a Symfony container.”

Creating Services in Prestashop 1.7

 

Looking to pull in a Spotify playlist? Here’s how.

How to Create a Connection to Spotify’s Web API Using Symfony

 

Dariusz Włodarczyk notes “Symfony form handler allows using different input types like TextTypeArrayChoiceListChoiceType etc. while using Array based type the result is an empty array. The only one working case is TextType but it still yields just raw json — but that’s undesired result.

After struggling for a while, the only working solution I’ve found is providing new input type (JsonType) and new DataTransformer.

Symfony Form — JsonType

 

Marco Pfeiffer says that “Finally use your multi-core CPU to run your tests multiple times faster, even with complex test setups.”

Improve PHPUnit Performance by Parallelization Using Liuggio-Fastest

 

In the first of a series, Guillaume examines whether to use a CMS or not. En francais.

CMS or not CMS?

He follows up with:

CMS in Symfony: what features?

 

Joomla announces that “in this article, Dimitris Grammatiko shares his insights and presents the definitive way to add images in Joomla 4 as well as how you can backport these advantages into older Joomla versions. Dimitris explains the history and usage of native support for lazy loading images and also with a new concept of adapters for storing images, both of which shipped in Joomla 4.0.5.

New image convention to help developers

 

Matt Glaman writes “This past weekend was at Florida Drupal Camp, and I gave a talk about using PHPStan to tighten up your Drupal codebase. For the past two years, the Drupal community has been leveraging PHPStan indirectly through the drupal-check and Upgrade Status modules to find usages of deprecated code as we journeyed from Drupal 8 to Drupal 9. This is barely the tip of the iceberg of what value PHPStan provides, but it had an immense impact.”

Tighten up your Drupal code using PHPStan

This was a great presentation. I’ll try to share all the Camp presentations once they are available.

 

Speaking of Drupal they need your help.

Help get us on track for an August 2022 release of Drupal 10.0.0!

 

This Month

 

Tomas Vortruba asks “How can we create 2 tests scenarios for the Symfony Kernel project with 2 different parameters? How can we inject 2 different instances of the same interface? How can we do it in the same way we already configure both of them?

Today we'll look at a little trick that allows us to create Symfony Kernel with different configs.”

How to Create Symfony Kernel for Tests with Different Configs

 

This Year

 

While researching for when we can finally have automatic core updates in Drupal I found this helpful post.

Drupal in 2022: How to Prepare for Drupal 10

 

Timeless

Inspector logo

Sponsored Article

We published our second sponsored article on Symfony Station exploring how code-driven monitoring helps you deliver successful Symfony products. Like all our articles it is now available via audio.

How code-driven monitoring helps you deliver successful Symfony products

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

 

Simon Bisson says, “.NET is much more than Microsoft’s own tools and languages. The open source PeachPie brings PHP to the table.”

Run PHP on .NET with PeachPie

 

Eelco Verbrugge writes “Type hinting are type declarations to function arguments, return values and class properties. PHP ensures the value is of the same type you declared or throws an TypeError. It isn't required but very useful to catch mistakes and helpful to others reading your code to understand what is up.”

PHP Type Hinting

 

Azraar Azward has a solid review of SOLID for us. ;)

SOLID principles in a nutshell

 

And Roberto B. has this:

Using Collections package outside of Laravel

And this as well.

TDD with PestPHP

 

Frank de Jonge notes “Event-driven systems come in all sorts of shapes and sizes. The obvious commonality is they all use events to communicate information. These events come in many shapes and sizes and determining what goes into an event has an immense impact on the design of your system.

In this post, I'd like to go over three different types of events. I hope clarifying these types will allow you to have better discussions about event-driven architectures and integrations.”

The different types of events in event-driven systems

 

No CS Degrees shares “Chris and his partner bought their dream house after Chris learned PHP and became a developer. We talked through his motivations for learning PHP, the benefits of learning programming, and his tips for beginners.”

Why you should learn PHP - Chris shares his story of learning to code

 

Speaking of learning, sometimes you need a good reference. Julian Maury has you covered with an extensive new PHP 8 cheatsheet.

Another PHP 8 cheatsheet

 

Matthew Weier O'phinney shows us how to:

Getting OpenSwoole and the AWS SDK to Play Nice

 

In a recent project, Cees-Jan Kiewiet discovered that “A feature that we really needed to make our fiber integration complete is the cancellation of them. Or to be more precise, the cancellation of any awaited promise yielding operations in that fiber and as a consequence the fiber that those are awaited in. This post goes into detail on how different cancelation scenarios work for the PR introducing it and was originally part of that PR's documentation but was replaced by a simpler section.”

Cancelling ReactPHP fibers

 

Paul Ducklin writes “If you’re using PHP in your network, check that you’re using the latest version, currently 8.1.3.

Released [2022-02-17], this version fixes various memory mismanagement bugs, including CVE-2021-21708, which is a use-after-free blunder in a function called php_filter_float().

(Versions 8.0 and 7.4 are still supported and are vulnerable too; if you aren’t using the latest 8.1 flavor of PHP then you need 8.0.16 and 7.4.28 respectively.)

PHP fixes security flaw in input validation code

 

The third build of the Early Access Program for PhpStorm 2022.1 is now available!

PhpStorm 2022.1 EAP #3: Enhanced Array Shapes

 

This post explores WordPress in particular but has excellent ideas for any website creation platform.

Standardized Design Tokens and CSS for a consistent, customizable, and interoperable WordPress future

Code logo

Other

 

The NewStack writes “Can real-world programming problems be solved with state-of-the-art AI? This month DeepMind explored that question, confronting the world with a fresh perspective on programming, and on the capabilities and limits of artificial intelligence.”

When DeepMind’s ‘AlphaCode’ Competed Against Human Programmers

 

Derrick Harris notes “Try as they may, critics of SQL (syntax query language) have never really been able to dent its popularity. Decades after its creation, the majority of the world’s databases still run on SQL, and the majority of data analysis still happens via SQL queries. It’s not too big a stretch to say that the digital world runs on SQL.

Why SQL Needs Software Libraries

 

Kinsta compares HTML and XML.

XML vs HTML: Learn the Difference Between These Markup Languages

 

Germano says, “When developing real-time web applications, WebSockets might be the first thing that comes to your mind. However, Server-Sent Events (SSE) are a simpler alternative that is often superior.”

Server-Sent Events: the alternative to WebSockets you should be using

 

Mark Nottingham writes “The orange site is currently discussing an article about Server-Sent Events, especially as compared with WebSockets (and the emerging WebTransport). Both the article and discussion are well-informed, but I think they miss out on one aspect that has fairly deep implications.”

Server-Sent Events, WebSockets, and HTTP

 

Finally, “in an era of talent shortages and fast delivery, the low-code market is taking off. Citizen development on a low-code platform may be the solution to organization’s internal needs.” Brian Bates asks:

Is the Citizen Developer the New Face of Agility?

 

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!

Author

Reuben Walker photo

 

Reuben Walker

Founder
Symfony Station

 

 

 


 

Symfony Station Communiqué - 11 February 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 week, the upcoming Symfony 6.1 version added context builders to simplify the creation of serialization contexts. In addition, SymfonyCon announced that it's coming back as a physical conference at Disneyland Paris later this year (November 15-18, 2022)."

A Week of Symfony #788 (31 January - 6 February 2022)

 

Currently, the Call for Papers for SymfonyWorld Online 2022 Summer Edition and SymfonyCon Disneyland Paris 2022 are both open. You can submit your talk and workshop proposals in English for both conferences. Those for the Summer Edition end on February 14th.

Call for Papers open for SymfonyWorld Online 2022 Summer Edition and SymfonyCon Disneyland Paris 2022

 

And they announced the first set of speakers and talks for SymfonyCon. (en francais)

First selected talks at SymfonyLive Paris 2022

 

Featured Item Graphic

 

FEATURED ITEM

 

MIT Tech Review notes “Something has changed for the tech giants. Even as they continue to hold tremendous influence in our daily lives, a growing accountability movement has begun to check their power. Led in large part by tech workers themselves, a movement seeking reform of how these companies do business, treat their employees, and conduct themselves as global citizens has taken on unprecedented momentum, particularly in the past year.”

Why the balance of power in tech is shifting toward workers

 

This Week

 

I know I just shared one of these last week, but this one has details, statistics, and illustrations.

Laravel vs Symfony: the Key Differences in 2022

 

Coding CEO writes “People use to say Laravel apps do not scale well, but after working with Laravel for some time are reviewing a lot of projects, I think is not totally Laravel's fault. Indeed, you can do great apps with Laravel the same as with Symfony, but is easier to succeed with Symfony than using Laravel. The problem? Laravel “magic”.”

Why Laravel apps don’t scale well (I)

 

Martin Schindler says, “During a project cycle, there are always situations that feel like deadlocks or circular dependencies… only seen on an organizational level.” He shares:

Decoupling frontend and backend development — The easy way!

 

Benjamin Ellis shows us how to generate a nice and human-readable changelog with API Platform (2.6).

Managing a changelog with API Platform & OpenAPI

 

Zumata has this for us” “As of version 6, the Symfony routing package supports Attributes. If there is one place where metadata is interesting to use, it is routing. In previous versions of PHP, this could be solved using comments (annotations). With attributes, the dependency on doctrine/annotations is not needed anymore.”

Symfony Routing with Attributes

 

Alen Pokos writes “If you either love AWS services already or are looking for a good option to use with your multiplatform products, AWS Cognito seems to be a good candidate to adopt into your technical stack.”

Fastest Symfony authentication - AWS Cognito integration

 

Yannic Chenot asks “PHP doesn’t have to be web-only — how about you start creating your own CLI tools?”

How to Build and Distribute Beautiful Command-Line Applications with Symfony, PHP, and Composer

 

Drupal revealed how they will handle PHP requirements for the upcoming Drupal 10 release.

Drupal 10 PHP requirements will be announced at least five months before Drupal 10.0.0

 

Devin Katz shares nine tasks awaiting you at the end of a Drupal migration.

9 Tasks at the End of Your Drupal Migration

 

We shared some Lando items last week and in this article Specbee looks at:

Getting Started with Lando and Drupal 9

 

Last week I shared a short tutorial from Lindevs. They have many of them. So, instead of selecting one each week, here they all are.

Lindev Symfony Content

 

In this post, Kinsta looks a WordPress-based WooCommerce and Symfony-based Magento.

Magento vs WooCommerce: Which One Is Better?

 

Speaking of Symfony-based e-commerce platforms, Aimeos announced “Since 2022.01 beta, the Aimeos core is using Upscheme for updating the database schema and migrating data between new releases. Upscheme is composer package for schema management based on Doctrine DBAL which offers an easy-to-use API. You can also integrate Upscheme it in your own application easily and this article explains the differences and how you can write migrations with only a few lines of code”

Aimeos 2022 news

 

And contrary to the title, here is a a quick overview of Prestashop.

Ultimate Guide to PrestaShop: Everything You Need To Know!

 

 

Last Week

 

Suzanne Dergacheva writes “I believe any Drupal developer can use this advice: everyone who contributes to building a website also contributes to UX. When we all incorporate UX design thinking into our work, the quality of our output can only get better.

In this article, we'll discuss the goals of UX design, how users evaluate it, and, specifically, how developers can do their part to build a better user experience.”

Making Better UX Choices: Advice for Drupal Developers

 

Nathaniel Catchpole discusses long-term Drupal support and how it ties in with Symfony’s release cycle.

Long(er)-Term Support for Drupal 10

 

Somehow, I missed this one last week from Jolicode.

(Re)discover XPath selectors

 

Timeless

Inspector logo

Sponsored Article

We published our second sponsored article on Symfony Station exploring how code-driven monitoring helps you deliver successful Symfony products. Like all our articles it is now available via audio.

How code-driven monitoring helps you deliver successful Symfony products

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

 

Tomas Votruba presents “Software engineering principles, from Robert C. Martin's book Clean Code, adapted for PHP. This is not a style guide. It's a guide to producing readable, reusable, and refactorable software in PHP.

Not every principle herein has to be strictly followed, and even fewer will be universally agreed upon. These are guidelines and nothing more, but they are ones codified over many years of collective experience by the authors of Clean Code.

Inspired from clean-code-javascript.”

“Clean Code” concepts adapted for PHP

 

Backend Developer takes a look at:

SOLID Principles in PHP

 

Zvonimir Spajic writes “If you follow Michael Feathers’ definition of legacy code (every code not covered with tests) then the first line of business in dealing with some legacy code that needs updating is to put it in a test harness (write a test for it). But this is often easier said than done. It can be surprisingly hard just to instantiate a (legacy) class in a test, due to the way it handles its dependencies.”

Testing Legacy Troubles

 

The February edition of PHP Architect is out.

February Edition

 

Matt Glaman “recently did a deep dive into command authoring with Drush, which is where I discovered two amazing new features: auto-discovery of commands via autoloading and the addition of attributes for defining your commands.

What are attributes? Attributes were added in PHP 8, and the overview on the PHP website is a great resource. So, if you are new to PHP 8 and have been living on PHP 7.4, still, or haven't tried out PHP 8's coolest feature, this blog will be a great introduction!”

Writing Drush commands with PHP attributes

 

PHP Monitor, the native Mac app for managing PHP, has released version 5.

PHP Monitor

 

Dariusz Gafka shows us how to:

Implement an Event Sourcing PHP Application in 15 minutes

 

William Donizetti writes (in Spanish) “If you deal with databases in your day-to-day life you may have already noticed how data is often exposed, in such a structured and easy-to-exploit way. However, this is not always interesting and through encryption we can minimize some of this data exposure and provide greater security for our applications.”

AES e PHP: criptografia de dados.

Code logo

OTHER

 

Let’s start this section with a good reminder piece.

What is the htaccess file?

 

Smashing Mag (a fantastic design resource) writes “Statoscope is an instrument that analyses your webpack-bundles. Created by Sergey Melukov, it started out as an experimental version in late 2016, which has now become a full-fledged toolkit for viewing, analyzing, and validating webpack-bundles.”

Statoscope: A Course Of Intensive Therapy For Your Webpack Bundle

 

The ReadMe Project shares “The client-side made a comeback over the past decade as developers built “single-page applications” (SPAs) with JavaScript. But a new crop of tools is sending the pendulum swinging back towards the server.”

Obviously, for Symfony this would be implemented with Turbo, Mercure, and Stimulus. And we are particularly excited about Viewi.

Move over JavaScript: Back-end languages are coming to the front-end

 

Speaking of the backend, Kinsta notes “Most applications and programs in the modern era need somewhere to store data. For web apps, a database is a crucial cog in the wheel. An open-source database is your best bet for many reasons.”

The Best in Open-Source Database Software: Top 10 Picks

 

Last week I shared some Web3 content. Here’s some more worth checking out if you haven’t made up your mind.

Fast Company writes “the Web3 wave has a long way to go before proving it can produce technology with the functionality, reliability, security, and scale needed to disrupt the internet we have now. O’Reilly is one of a handful of influencers who have begun to raise doubts about its chances of doing that. After all, he’s seen this movie before—twice.”

Tim O’Reilly helped bring us Web 1.0 and 2.0. Here’s why he’s a Web3 skeptic.

 

The global managing partner of Flourish Ventures, Tilman Ehrbeck, shares his perspective on a digital future that could expand economic opportunity—if innovators and society can harness its potential.

I’m an advocate for inclusive capitalism. Here’s why I’m intrigued by Web3

 

The Atlantic writes “Web3 is making some people very rich. It’s making other people very angry.”

The Crypto Backlash Is Booming

 

Docker says, “They’re excited to announce the release of Docker Desktop 4.5 which includes enhancements we’re excited for you to try out.”

New Docker Menu & Improved Release Highlights with Docker Desktop 4.5

 

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

 

 

 


 

Subscribe to Prestashop

 

 

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