This post originally appeared on Symfony Station.
https://symfonystation.com/Communiques
Welcome to this week's Symfony Station Communique. It's your weekly review of the most valuable and essential news in the Symfony and PHP development communities. This week it's extensive again, so take your time and enjoy its most valuable items.
Thanks to Javier Eguiluz and Symfony for sharing our last communique in their Week of Symfony.
*Please note that links will open in a new browser window.
Symfony
As always, we will start with the official news from Symfony.
Highlight -> "This week, Symfony 4.4.35 and 5.3.12 releases were published to address some potential security vulnerabilities. In addition, Symfony 5.4.0-RC1 and 6.0.0-RC1 were published in preparation for their imminent stable release. Lastly, Symfony announced the last days of its Black Friday 2021 deals which end on November 29."
A Week of Symfony #778 (22-28 November 2021)
Javier continues a series of posts on what's new in Symfony 5.4.
New in Symfony 5.4: Misc. features (part 3) https://symfony.com/blog/new-in-symfony-5-4-misc-features-part-3
New in Symfony 5.4: Misc. features (part 2) https://symfony.com/blog/new-in-symfony-5-4-misc-features-part-2
New in Symfony 5.4: Misc. features (part 1) https://symfony.com/blog/new-in-symfony-5-4-misc-features-part-1
New in Symfony 5.4: Serializer improvements https://symfony.com/blog/new-in-symfony-5-4-serializer-improvements
New in Symfony 5.4: Notifier integrations https://symfony.com/blog/new-in-symfony-5-4-notifier-integrations
It's finally here. Symfony 6 is available!
Symfony 6.0.0 released
https://symfony.com/blog/symfony-6-0-0-released
Symfony 5.4 as well.
Symfony 5.4.0 released
https://symfony.com/blog/symfony-5-4-0-released
SymfonyWorld conference starts in just a week: 10 workshops, 25 talks and hundreds of community members to meet. Don't miss it!
A week left before SymfonyWorld Online 2021 Winter Edition, book your ticket now!
https://symfony.com/blog/a-week-left-before-symfonyworld-online-2021-winter-edition-book-your-ticket-now
SensioLabs has this for us: "To mark the release of Symfony 6, SensioLabs has interviewed Nicolas Grekas, one of the most active members of the Symfony core team. Grekas described the main new features of this latest major version of Symfony and how to start preparing for the upgrade."
Deep dive into Symfony 6: the interview with Nicolas Grekas
https://blog.sensiolabs.com/2021/12/01/symfony-6-interview-nicolas-grekas-2/
SymfonyInsight is the official Symfony platform to monitor and maintain high quality projects over long periods of time. It also helps you reduce business risks and upgrade your application dependencies.
PHP 8.1 is the latest version of PHP, released on November 25th. We’re thrilled to announce SymfonyInsight support of PHP 8.1 and all its features (enums, readonly properties, etc)!
SymfonyInsight now supports PHP 8.1!
https://symfony.com/blog/symfonyinsight-now-supports-php-8-1
Featured Item
We continue to highlight the most significant post of the week.
Stitcher.io has this for us.
PHP 8.1 was released on November 25, 2021. This post will go through all features, performance improvements, changes, and deprecations one by one.
What's new in PHP 8.1
https://stitcher.io/blog/new-in-php-81
This week
Speaking of Symfony 6, Alex Daubois has this interesting post.
What's this upcoming "Encryption" component of Symfony 6.1?
https://alex-daubois.medium.com/whats-this-upcoming-encryption-component-of-symfony-6-1-c3359af26532
Kiratas provides this advice: "SensioLabs has presented versions 5.4 and 6.0 of the popular PHP framework Symfony. The two versions are identical regarding the innovations, but Symfony 6 cuts off old braids and removes all content marked as outdated (deprecated). Therefore, developers who want to switch to the new main version should first switch to 5.4 and remove all deprecations."
PHP framework: Symfony 6.0 appears at the same time as version 5.4
https://www.kiratas.com/php-framework-symfony-6-0-appears-at-the-same-time-as-version-5-4/
Via SymfonyCasts: "We're heading into Twig and inside a service to fetch the currently-authenticated user. While we're there, we'll add some custom methods to our User class to make it smarter!" They continue their look at Symfony security with:
This week on SymfonyCasts
https://5hy9x.r.ag.d.sendibm3.com/mk/mr/eMbqrPggo51bK8ayD5GJNvuYOLgs03Pwc1ig-aE3Z_vuqgpal9jfAOTYP8iRpT2tOspI0s3C9Sgjr3zrFrxDQZ43YDbcfDodlY6HvVkYv8mUeBBmhsLhErJdOUcpf933oFogeTlPRw
Mattia Toselli shows us how to develop a simple app with Symfony 5 on our local machine. Then we will deploy this app using a service of DigitalOcean called App Platform.
How to create an automated pipeline for deploy with Symfony 5 and DigitalOcean App Platform.
https://toselli-mattia.medium.com/how-to-create-an-automated-pipeline-for-deploy-with-symfony-5-and-digitalocean-app-platform-67687342f5ef
Why invest in AWS CDK today? Using a simple example with a basic web application built with the Symfony framework, this article will show you how to industrialize any application with Infrastructure as Code (IaC) methodology on AWS.
Build and Deploy a Symfony Application on AWS using CDK, ECS, and RDS
https://medium.com/wiiisdom-labs/build-and-deploy-a-symfony-application-on-aws-using-cdk-ecs-and-rds-ec8c85465af6
I know that there seems to be one of these comparison posts every week. But, if they have something new in them, even one sentence, we'll continue to feature them.
Laravel vs. Symfony: Which PHP Framework to Choose for Enterprise-grade Web Applications?
https://www.communicationcrafts.com/laravel-vs-symfony/
By the way, the answer for Enterprise-grade is Symfony.
Prestaconcepts brings us this post in French.
What Symfony 5.4 Brings
https://www.prestaconcept.net/blog/symfony/ce-qu-apporte-symfony-5-4
Doctrine has a new release.
New Release: Doctrine DBAL 3.2.0
https://www.doctrine-project.org/2021/11/26/dbal-3.2.0.html
Gábor Hojtsy writes: "As you may know, we are planning to release Drupal 10 in 2022 (as early as June) because Drupal 9's Symfony 4 and CKEditor 4 are both at the end of life the year after, around the end of 2023. So we plan to give enough time for people to update to Drupal 10 before Drupal 9 goes end of life. A similar situation happened with Drupal 8 to 9 driven by Symfony 3 to 4. However, moving Drupal 10 from Symfony 4 to 5 would again only give us a couple of years to move on to Symfony 6 next, so the current plan is to move to Symfony 6 straight away."
The big Symfony 4 to 6 jump plan in Drupal 10 and potential benefits down the line for future versions
http://www.hojtsy.hu/blog/2021-nov-29/big-symfony-4-6-jump-plan-drupal-10-and-potential-benefits-down-line-future
Websites developed on the Symfony framework were vulnerable to web cache poisoning attacks due to misuse of HTTP headers, according to CyberIntelMag.
Symfony PHP Framework Had Cache Poisoning Vulnerability
https://cyberintelmag.com/cloud-security/symfony-php-framework-has-cache-poisoning-vulnerability/
Last Week
Hantsy has the following min-tutorial.
Building Restful APIs with Symfony 5 and PHP 8
https://hantsy.medium.com/building-restful-apis-with-symfony-5-and-php-8-35368a6246ad
Timeless
The idea behind Inspector is to create a monitoring environment specifically designed for software developers avoiding any server or infrastructure configuration that many developers hate dealing with. It works with a lightweight software library that you can install in your application like any other dependencies. In the case of Symfony, you can use our official Symfony Bundle.
Code Execution Monitoring for Symfony applications using Inspector
https://inspector.dev/code-execution-monitoring-for-symfony-applications-using-inspector/
When it comes to open source ecommerce platforms, there are quite a few solutions to choose from. You may have heard about Magento or PrestaShop. But have you ever seen something about Sylius?
What is Sylius and how to use it?
https://www.droptica.com/blog/what-sylius-and-how-use-it/
As you may know, I ran across Akashic Seer's blog last month, which boasts Symfony-related posts. Here are a few more from his archive delivered with his unique approach.
How to add CSRF protection to Symfony 5+ forms
https://akashicseer.com/web-security/how-to-add-csrf-protection-to-symfony-5-forms/
How to access Doctrine in Symfony 5+ services
https://akashicseer.com/web-development/how-to-access-doctrine-in-symfony-5-services/
PHP
This week
To paraphrase Cloudways, PHP is the backbone for almost every website, and its security shouldn't be negligible. PHP developers are responsible for avoiding common threats like cross-site request forgery, SQL injections, and data tampering. And PHP has built-in security features that make it easier for developers to protect their websites.
Ultimate PHP Security Best Practices
https://www.cloudways.com/blog/php-security/
This week, the latest PHP RFC, Deprecate Dynamic Properties, passed 2:1. It barely met the 2/3 vote threshold for passing, which of course, can and has been spun in various pro-and-con ways. The prominent argument people had against it was that it involves triggering deprecation warnings, which is kind of the point. That's what it does mostly.
Evolving PHP safely
https://peakd.com/hive-168588/@crell/evolving-php-safely
Here's more on security as Matthieu Robin asks: "You've been using PHP for years, and it seems to work just fine, but have you ever wondered what more you could be doing to keep your scripts secure?"
10 Ways to Improve Your PHP Security
https://dev.to/matthieurobin/10-ways-to-improve-your-php-security-42e2
Vedran Mihočinec too has a question. What is the easiest way to dockerize PHP applications?
The Easiest Way to Dockerize PHP Applications
https://dev.to/vedran/the-easiest-way-to-dockerize-a-php-application-4jne
In past communiques, we examined Anders Björkland posts on Bolt CMS. Here he takes a look at Silver Stripe CMS in two posts.
A CMS with a new take - SilverStripe first impression
https://dev.to/andersbjorkland/a-cms-with-a-new-take-silverstripe-first-impression-46e4
Adding registration to SilverStripe and controlling privileges
https://dev.to/andersbjorkland/adding-registration-to-silverstripe-and-controlling-priveleges-k4h
On an unrelated note, he also posted.
Overview - The C in PHP stands for Christmas 🤶🎅. Follow this daily in December.
https://dev.to/andersbjorkland/overview-the-c-in-php-stands-for-christmas-5752
Speaking of PHP CMSs.
Composer and Contao for the Rest of the World
https://contao.org/en/news/composer-and-contao-for-the-rest-of-the-world.html
Ibrahim Alausa has written a comprehensive guide on writing cleaner, shorter class constructors.
PHP 8: Constructor Property Promotion
https://worldclassibro.hashnode.dev/php-8-constructor-property-promotion
Jetbrains has another announcement, although it's quite as big as last week's.
JetBrains Remote Development: The ultimate coding experience for a remote world
https://www.jetbrains.com/remote-development/
They also announced that PhpStorm 2021.3 is now available! This major release introduces full support for PHP 8.1, better handling of generics in PHP, remote development, improvements to deployment, an HTTP client, refactorings, and much more.
PhpStorm 2021.3: PHP 8.1, Generics, Remote Development, Refactorings, and More
https://blog.jetbrains.com/phpstorm/2021/12/phpstorm-2021-3-release/#move_class_and_move_namespace_refactorings_with_drag_and_drop
Olotin Temitope shows us how to configure Xdebug with PHPStorm and Docker to debug like a pro.
How to debug like a pro using Xdebug, PHPStorm, and Docker.
https://olotintemitope.medium.com/how-to-debug-like-a-pro-using-xdebug-phpstorm-and-docker-d2d66630a9df
PHP Architect interviews feature contributor Vinícius Campitelli about his article Cryptography with Libsodium.
Interview with Vinícius Campitelli
https://www.phparch.com/podcast/interview-with-vinicius-campitelli-2/
As of today, when you update your dependencies in a pull request, Private Packagist comments with all composer.lock changes displayed in a clear and easy to scan table.
Introducing: Update Review
https://blog.packagist.com/introducing-update-review/
Last Week
In this episode of the PHP Internals News podcast, they're looking back at all the RFCs that were discussed on the podcast for PHP 8.1. In their own words, the RFC authors explain these features, with your host interjecting his comments on the state of affairs. Please give it a listen.
PHP Internals News: Episode 95: PHP 8.1 Celebrations
https://derickrethans.nl/phpinternalsnews-95.html
In this video, BeachCasts shows us how to:
Measure PHP Code Quality With Static Analysis Using PHPStan
https://www.youtube.com/watch?v=OiS2xGVWEa0
James Seconde has more on PHPStan.
Scrub Up! Cleaning Your PHP Application With PHPStan
https://learn.vonage.com/blog/2021/11/30/scrub-up-cleaning-your-php-application-with-phpstan/
If you use Drupal, its PHPStan solution gets an update.
Better static analysis with entity type storage in phpstan-drupal 1.10
https://mglaman.dev/blog/better-static-analysis-entity-type-storages-phpstan-drupal-110
And there's another one of these. Sigh.
Is PHP a Dying Language?
https://medium.com/geekculture/is-php-a-dying-language-2cea47e2196d
And as long as most of us will be alive, the answer is no. But the author still makes some interesting points about why that is.
Other
How will future AI systems make the most ethical choices for all of us?
Worried about AI ethics? Worry about developers' ethics first
https://thenextweb.com/news/worried-about-ai-ethics-worry-about-developers-ethics-first-syndication
To continue on that line.
AI can translate standard written text to code
https://www.freethink.com/technology/text-to-code
And regarding other so-called threats to the careers of developers.
Low code will help but don't expect a revolution
https://tbtech.co/data/low-code-will-help-but-dont-expect-a-revolution/
Here are five handy MySQL string functions you can add to your toolkit.
5 MySQL String Functions You Should Know
https://openlamptech.substack.com/p/openlamptech-issue-3-5-mysql-string
This type of CSS review is always helpful.
Flexbox vs. CSS Grid: What are the differences between the two, and when should you use them?
https://betterprogramming.pub/flexbox-vs-css-grid-3e9011ee2951
Postman says: "Before promoting an API direction, all parties must understand where we are and what destinations are possible. A map helps simplify an overwhelming number of technologies, techniques, and ideologies into something approachable and with a clear way forward. Ultimately, maps provide key insights so that having a conversation about an ecosystem's strengths and weaknesses can occur."
How to Improve an API Ecosystem with Mapping
https://blog.postman.com/how-to-improve-api-ecosystem-with-mapping/
GitHub had some problems this week, but they were able to post this about Actions.
GitHub Actions: reusable workflows are generally available
https://github.blog/2021-11-29-github-actions-reusable-workflows-is-generally-available/
Here's an in-depth look at Docker, which is always helpful.
Dock Life: Using Docker for All The Things!
https://nystudio107.com/blog/dock-life-using-docker-for-all-the-things
And here's a look at the vital topic of user experience.
The State of UX in 2022
https://trends.uxdesign.cc/
Like most articles in the New Yorker, this is a long one. But, it's worth grabbing your favorite beverage and reading it at your leisure.
Lina Khan's Battle to Rein in Big Tech
https://www.newyorker.com/magazine/2021/12/06/lina-khans-battle-to-rein-in-big-tech
Have you published or seen something related to Symfony or PHP that we missed? If so, please contact us.
That's it for this week. Thanks for making it to the end of another extended edition. I look forward to sharing next week's Symfony and PHP news with you on Friday.
Please share this post. :) Be sure to join our newsletter list, so you get each week's communique directly in your inbox (a day early). And follow us on Twitter at @symfonfystation.
Happy coding Symfonistas!
Reuben Walker
Founder Symfony Station
https://symfonystation.com/
Reuben is also Ringmaster of Mobile Atom Media and its division Mobile Atom Code.
https://media.mobileatom.net/about-us/
https://www.mobileatom.net/
Top comments (0)