Segfault #5 – Level up with Laravel 10 🎉
Hello Friends 👋🏻
Welcome to the fifth edition of the Segfault newsletter.
After a long wait, Laravel 10, the latest version of the most favorite PHP framework has been released today! The core team worked relentlessly to bring this feature-packaged release to the community.
A very high-level list of changes coming to this version:
The minimum version is PHP 8.1 now, dropping PHP 8.0 support
Argument and return types were added to all method signatures in the application skeleton and all stubs.
Laravel Pennant, a new first-party package, will offer a lightweight, streamlined approach to managing the application's feature flags.
A beautiful abstraction layer for starting and interacting with external processes via a new
Processfacade has been added.
testcommand has received a new
--profileoption that allows to easily identify the slowest tests in the application.
makecommands no longer require any input. If the commands are invoked without input, users will be prompted for the required arguments.
Head over to these blog posts to know the above changes in detail:
A Look at What's Coming to Laravel 10 by Laravel News
Laravel 10: release date and new features by Benjamin Crozat
Release notes of Laravel 10 in Laravel Documentation
PS. I made a tiny contribution to the Laravel Pennant documentation 😃
Thanks for reading Segfault! Subscribe for free to receive new posts and support my work.
👓 Recommended Readings
I read a few great articles over the week, so here are my top 3 picks for you.
Active Record: How We Got Persistence Perfectly Wrong – In this blog post, the author Shawn McCool presented a very detailed look at some of the pitfalls of using Active Record in a large application. Some of his points resonated well with me and I am going to put extra effort to avoid the scenarios he alerted here.
How it started / how it's going – The legend David Heinemeier Hansson (DHH) compared his recently viral office space with a rare photo of his original office space where he created Ruby on Rails. He made a great point that real satisfaction should come from doing creative work, not from second-degree things. A great read.
Real-world Engineering Challenges #8: Breaking up a Monolith – In this long-form article, author Gergely Orosz illustrated how Khan Academy took a 1 million-line Python monolith and split it into ~40 Go services in a more than 3 year-long project. Migrations are always hard. I love learning the pesky details of massive migration like this — gives you a lot of new perspectives.
If you have come across a great write-up and want me to share it with others, feel free to reply to this and/or write in a comment.
📦 Great PHP Packages
A couple of notable packages I’ve come across that I’ve bookmarked myself and would recommend to others.
Saloon — Saloon is a fluent, object-oriented wrapper to build API integration or PHP SDK. It makes sharing API requests throughout a Laravel application a breeze.
Ad Manager for Laravel — This package provides a simple Ad, Banner, and Callouts Manager for Laravel. It comes with an ad manager dashboard where you can define the ads and then later can embed them in the views. A neat package.
Laravel Workflow — A package that provides tools for defining and managing workflows and activities. It can be used to automate and manage complex processes, such as financial transactions, data analysis, data pipelines, and other business processes. You can break down large, complex processes into smaller, modular units that can be easily maintained and updated.
One tweet on goal setting gave me a new perspective and forced me to rethink my goals for 2023 🤯
Nathan proposed that many of us see goal setting from the wrong perspective and focus only on the outcome — leaving the journey neglected. Whereas the journey should also be a part of the goal and should be carefully reviewed to see if we want to go through it. He uses the famous Mexican fisherman's story to illustrate the point. A good thread that should be saved and revisited every now & then.
Enjoy a little fun in this new section of the newsletter 🙈
That’s all for this week. Feel free to hit that reply button if you have a question or if you would like to open a discussion.
Follow me on Twitter to get the other stuff I am sharing that won’t be included in this newsletter 😉
Thank you for subscribing.
– Mohammad Emran
PS. If you enjoyed my writing above or found the resources I shared helpful, it would be of great help if you let your friends know about this newsletter by sharing it 🤜 🤛