Generics in PHP using PHPDocs
Generics are available since PHPStan 0.12. This posts explain what they’re all about.
Read more [phpstan.org]
Generics are available since PHPStan 0.12. This posts explain what they’re all about.
Read more [phpstan.org]
Laravel allows you to cast model attributes as encrypted strings1, when stored in the database. This gives you added security for any values that are sensitive (such as Personally identifiable information, PII), including complex structures such as arrays, collections, and even objects.
Read more [larasec.substack.com]
Join 9,500+ smart developers
Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.
No spam. Unsubscribe anytime. You can also follow me on X.
"Freek’s newsletter is one of the best ways to stay updated with the Laravel and PHP ecosystem. It consistently highlights useful packages, tools, and ideas from the community, especially the amazing work coming from Spatie. As a Laravel developer building SaaS and web platforms, I find it extremely helpful to discover practical tools and insights that improve my development workflow."
Good instructions provided by Nuno.
Read more [nunomaduro.com]
We've created a new package that can render a beautiful support form widget on any page. You can read more about the package in this blog post at Flare.
In this stream, I'll show you how to use the package. We'll also source dive its code.
In this video, my colleague Brent explains a good way to test a form in a Laravel app.
This video is part of our new premium video course Testing Laravel.
Matthias Noback shares some considerations on when you could rely on PSR abstractions
Read more [matthiasnoback.nl]
– doeken.org - submitted by Doeke Norg
Context from traits is copy-pasted to your class and NOT inherited. What does that imply?
Read more [doeken.org]
In this stream, Brent and I showcase some cool techniques we use in our test suites.
Tobias Petry shared the results of the State Of Laravel Survey he launched a few weeks ago.
Read more [stateoflaravel.com]
Jacob Kaplan-Moss shares the technique he uses when he needs to develop a project timeline.
Read more [jacobian.org]
We're way overdue a correction back to simplicity for the frontend. ES6/HTTP2/Import maps looks like they'll deliver just that.
Read more [world.hey.com]
Another amazing video by Simon!
A static analyzer helps you to find bugs in your code without even running it. Popular static analyzers for PHP are Psalm and PHPStan. In this post, we're going to look at what such a static analyzer can find in a two-year-old codebase.
Read more [flareapp.io]
I've been creating web applications for over 15 years now. It's only in the last five years that I've learned how to test an application automatically. I can safely say that there is no other technique that has improved the quality of my code more.
Let's go over what a test is and all the benefits it provides.
Read more [testing-laravel.com]
In this video, which is part of the Testing Laravel video course, I explain to cool ways to test middleware in Laravel.
In this video, we're using Pest, but you can easily use the techniques in a PHPUnit testsuite as well.
Flare runs on a few different servers that each produce their own logs. In this post, you'll learn how you can combine multiple logs in a single stream.
Read more [flareapp.io]
Native PHP functionality and having a good design in the first place provide everything you need to avoid a mocking library.
Read more [peakd.com]
– ryangjchandler.co.uk - submitted by Ryan Chandler
Seeders are a great way of creating fixture data, as well as dummy data, for your development environment. Let me show you how we can make them even better.
Read more [ryangjchandler.co.uk]
If you're into React, you'll appreciate these patterns for working with uncontrolled components
Read more [jjenzz.com]
– doeken.org - submitted by Doeke Norg
This post exmplains how you can work with iterators and generators as if they were arrays.
Read more [doeken.org]