The Laralist

Browse past editions.

#19 - Whatโ€™s New in PhpStorm 2024.2 ๐Ÿ†•, Implementing SaaS Usage Limits in Laravel โš–๏ธ, Boot model traits ๐Ÿ’ก, Real-time mouse pointers ๐Ÿ–ฑ๏ธ

PhpStorm 2024.2 introduces several new features, including log file support, a new floating toolbar for quick access to refactorings and AI features, terminal command completion, and AI Assistant for terminal command generation and VCS conflict resolution. Frontend updates include running and debugging TypeScript files directly, better support for major web frameworks and default Prettier integration. The new UI is now the default for all users.

18th of August, 2024

#18 - Uncle Bob Martin Announces Second Edition of Clean Code ๐Ÿ“˜, Your Laravel application with Repository doesn't make any sense ๐Ÿค”, Predictions for the future of software engineering ๐Ÿ”ฎ

Uncle Bob Martin is rewriting "Clean Code" promising a fresh approach while retaining its core principles. Expect a completely revamped presentation that breaks down complex concepts into digestible sections. While the second edition is still over a year away, fans of the original will find the enduring messages relevant until then. Stay tuned for more updates on this anticipated release.

11th of August, 2024

#17 - Laravel 11.19 released ๐Ÿš€, Simplify static page routing in InertiaJS ๐Ÿ›ค๏ธ, The EU's AI Act is now in force โš–๏ธ, UUIDv7 in 33 languages ๐ŸŒ

Laravel 11.19 brings a suite of upgrades that fine-tune both testing capabilities and query functionalities. New testing methods such as `assertSeeHtml`, `assertDontSeeHtml`, and `assertSeeHtmlInOrder` refine HTML output validations. The addition of `assertExactJsonStructure` and `withoutHeader` test methods enhances API testing by allowing precise JSON structure checks and header manipulation. On the database front, the new `whereNone` method in the query builder facilitate the exclusion of records under specific conditions. Furthermore, a method to trim unnecessary zeroes from decimal points `Number::trim(12.0); // => 12` simplifies numerical outputs.

4th of August, 2024

#16 - Handle failures in queued jobs ๐Ÿ’ก, The State of Laravel Survey 2024 ๐Ÿ“Š, Deprecations for PHP 8.4 ๐Ÿ—ณ๏ธ, Stack Overflow Developer Survey Results ๐Ÿ“ˆ, Buggregator ๐Ÿ“ฆ

Gracefully handle failures in queued jobs. If a job fails after all attempts, you can execute custom code by defining a `failed()` method within your job class. Implement this method to manage tasks like cleaning up resources or notifying users when a job doesnโ€™t succeed.

28th of July, 2024

#15 - Laravel 11.16 released ๐Ÿš€, generate pattern-based strings with Faker ๐Ÿ’ก, How to test all get routes with a single Pest test ๐ŸŽฏ, The Problem with Coding Exercises in Technical Interviews ๐Ÿ’ป

The latest release brings several enhancements across the board. It introduces a new `success` console component and refines mail assertion capabilities, enabling streamlined tests for email dispatch to specific addresses. For SQLite users, new configuration options `busy_timeout`, `journal_mode`, and `synchronous` can boost performance significantly. Moreover, `ConnectionException` is now included in connection failure events.

21st of July, 2024

Get The Laralist in your inbox

Keep up with Laravel in 5 minutes. Get the most important Laravel, PHP, & package news and reads every Sunday for free.

#14 - New without parentheses in PHP 8.4 ๐Ÿ†•, Using MySQL Views with Laravel ๐Ÿ—ƒ๏ธ, Making clearer announcements with `So What?` technique ๐Ÿ“ข, The #[\Override] attribute in PHP ๐Ÿ“

PHP 8.4 introduces a syntactic enhancement that allows developers to chain methods directly on newly created objects without wrapping them in parentheses, simplifying code and reducing friction in PHP coding.

14th of July, 2024

#13 - The Action Pattern deconstructed โš™๏ธ, PHP 8.4.0 Alpha 1 available for testing ๐Ÿš€ shadcn/ui components ๐Ÿ—ณ๏ธ Mocking is an Anti-Pattern ๐Ÿงช

Discover the benefits of using the action pattern in Laravel. This approach minimizes redundancy and promotes easier maintenance and testing, enhancing flexibility and integration in your applications. The article details how the action pattern structures your code for better scalability and testability.

7th of July, 2024

#12 - Adding PHPStan to a legacy project ๐Ÿงฉ, Laravel 11.12 & 11.13 released ๐Ÿš€, Http::pool() ๐Ÿ’ก, What Does 90th Percentile Mean ๐Ÿ“ˆ

This week, dive into the challenges and strategies of integrating PHPStan into legacy PHP projects. The article outlines practical approaches for adopting PHPStan to improve code quality incrementally. It focuses on setting up PHPStan, configuring it to recognize and handle legacy code specifics, and embedding it into continuous integration workflows to ensure ongoing code quality without overwhelming the development process.

30th of June, 2024

#11 - Pattern Matching Draft RFC ๐Ÿ“, Laravel 11.11 released ๐Ÿš€, Encrypted jobs ๐Ÿ’ก, How To Build a Productive Laravel Team ๐Ÿ› ๏ธ

Despite still being in draft, the new PHP RFC on Pattern Matching is creating quite a buzz due to its potential to streamline and enhance code readability significantly. This RFC proposes sophisticated matching techniques against complex data structures and the ability to extract values, which could drastically reduce code complexity. The excitement around this draft reflects its high quality and the substantial improvements it could bring to PHP, mirroring features already present in languages like Python and Rust.

23rd of June, 2024

#10 - Running PHP 1.0 in 2024 ๐Ÿ•ฐ๏ธ, Differences between Next.js and Laravel ๐Ÿ†š, Unlocking the Power of Attributes in PHP ๐Ÿ”“, collect.js ๐Ÿ“ฆ

Roman Pronsky takes us on a nostalgic journey back to 1995 with PHPโ€™s inaugural version in his latest YouTube video. Marvel at how PHP began as a simple toolkit called PHP Tools for personal webpage management and evolved into a cornerstone of web development. Pronsky expertly demonstrates PHP 1, providing insights into the languageโ€™s humble beginnings and its profound impact on todayโ€™s web technologies. This retrospective is a must-watch for anyone intrigued by the evolution of programming languages and the enduring legacy of PHP.

16th of June, 2024

#9 - Restore error sharing in Laravel ๐Ÿ”„, Accepted Deprecated attribute RFC โœ…, Laravel 11.10 released ๐Ÿš€, Adobe's terms update sparks outrage and clarification ๐Ÿ”ฅ

Spatie introduces the `spatie/laravel-error-share` package, restoring the โ€œShareโ€ button on Laravelโ€™s exception page. This enhancement brings back the ability to share error details easily, lost in the recent update to a more streamlined exception interface.

9th of June, 2024

#8 - Laravel New Default Exception Page ๐Ÿš€, Containerization Tips and Tricks for PHP app ๐Ÿณ, Cloudflare took down a website after trying to force them to pay 120k$ โ›ˆ๏ธ

Laravel v11.9.0 introduces a significant update with a new default exception page that now includes dark mode. This release also speeds up bootstrap times by utilizing a hashtable for provider storage, significantly benefiting large applications. Additionally, versions v11.9.1 and v11.9.2 have also been released, continuing the improvements and stability of the framework.

2nd of June, 2024

#7 - Laravel 11.8 released ๐Ÿš€, Laravel vs. React... ๐Ÿ†š, Dispatching jobs after response๐Ÿ’ก, Avoid the Long Parameter List โœ‚๏ธ

Explore recent updates to Laravel, including new features like the unshift method for Collections, the sibling of push(). Discover the new rule contains which checks if a request includes a specific value within an array, serving as the counterpart to the in rule.

26th of May, 2024

#6 - The Strategy Pattern ๐Ÿ”ง, array_find RFC ๐Ÿ—ณ๏ธ, S3 will no longer charge for unauthorized requests ๐Ÿ’ฐ, Stream files from S3 to clients in a memory-efficient way ๐ŸŒŠ

Explore how Laravel leverages the strategy pattern, allowing dynamic implementation swapping for diverse functionalities like caching. This article delves into practical applications and the underlying `CacheManager` implementation.

19th of May, 2024

#5 - Understanding Laravel Octane's โฉ, How to add custom domains to your App ๐Ÿ›ฃ๏ธ, Create an AI chat bot from scratch tutorial ๐Ÿค–, Laravel 11.7 released ๐Ÿš€

Explore how Laravel Octane accelerates request handling by pre-loading the application, akin to chefs preparing ingredients before rush hour. Anyone who has ever tried to implement custom domains for their apps knows it can be a daunting task ...

12th of May, 2024

#4 - How an empty S3 bucket can make your AWS bill explode ๐Ÿ’ธ, RFC: Release cycle update ๐Ÿ—ณ๏ธ, Whizzy launched ๐Ÿ†•, Laravel 11.6 Released ๐Ÿš€

Discover how Maciej Pocwierz received a $1,300 bill in just one day due to unauthorized requests. AWS charges for these, potentially exposing you to DDOS attacks on your financial accounts. Make sure to review your S3 buckets using Maciej's tips to safeguard against unexpected charges.

5th of May, 2024

#3 - Laravel 11.5 Released ๐Ÿš€, New The Laravel Ecosystem video series ๐Ÿ“บ, Test for speed in Laravel with Benchmark โฑ๏ธ, report() helper ๐Ÿ“

Laravel 11.5 arrives with a suite of upgrades and new features. Notable features include anonymous event broadcasting and a significant ~20% speed boost in blade component rendering. The make:trait and make:interface commands will create the files in the proper namespaces when they exist.

28th of April, 2024

#2 - Laravel 11.4.0 released ๐Ÿš€, Property hooks RFC ๐Ÿ—ณ๏ธ, Spatie billion downloads โฌ‡๏ธ

The latest update brings a suite of enhancements. Key features include introducing a `throttle` method for `LazyCollection` and adding enum support in the `mapInto` collection method. Additionally, a new `required_if_declined` validation rule is added. The update also introduces an `afterQuery` hook to run post-query operations and a comprehensive `Exceptions` facade to streamline exception testing.

21st of April, 2024

#1 - Laravel 11.3.1 released ๐Ÿš€, New textarea function added to Laravel Prompts ๐Ÿ—’๏ธ, Differences between the trim() and the Str::trim() ๐ŸŽฅ

The Laravel update introduces several significant enhancements. The `session()->hasAny()` method makes it easier to check for the presence of any session keys. The Context class now includes `pull` methods, akin to those in Session and Collections. Additionally, the HTTP Factory is equipped with `Http::createPendingRequest()`, enabling the creation of PendingRequest instances for customized API interactions. Another improvement includes the ability to sort the route:list by multiple columns/factors.

14th of April, 2024