Prevent users from reusing recently used passwords. We'll track and store when a user changes their password, then create a custom validation rule to use anywhere. We'll create a command to frequently clear up the database, too.
Need to keep a record of updates to your models? Great! Let's build a convenient, reusable trait that can be immediately used to track changes to the data in our database.
Whoops gives you a much nicer way to display errors while you're building. In this snippet, we'll get Whoops installed with Slim 4.
Every Slim route sends a Request object to your controller. In this course, we're going to learn how to change the default route invocation strategy and decorate the request object, perhaps to add helpful methods that keep our controllers clean.
A practical dive into every PHP magic method. You might never use them all, but they're well worth knowing, just in case.
With Slim 4, handling custom 404 pages is different. In this course, we'll first cover general error handling, and then we'll render a view for pages that can't be found.
Using mutators to set properties in your models can really clean up your code. In this snippet, we'll look at an example of automatic password hashing and see how much tidier our controllers end up.
Everything you'd need from an authentication system, built completely from scratch with Slim 4. Covers templating, signing up, signing in (with remember me functionality), seamless validation, custom validation rules, beautiful CSRF protection, and more.
A super quick guide to getting Tailwind installed, configured and working in a fresh Vue CLI project.
Need to authenticate users in your Flutter app? Here's a great place to start. We'll set up JWT authentication, build out a simple, clean authentication service, and securely store the token on the user's device to keep them signed in.
Bake Laravel style validation right into your Slim project and easily validate all your forms with a few lines of code and no controller mess.
Using the official Slim CSRF package and a little tweaking, we're going to create an effortless way to help protect your site from CSRF (Cross-Site Request Forgery) attacks.
There are a ton of ways to create custom validation rules in Laravel, but which one do you pick? And what happens if you need to push custom rules further? Well, this course will show you how.
Build a solid multiple file uploader with Vue. It features endpoint configuration per file type, queuing based on maximum concurrency, cancellable downloads and more.
Too much logic in your views? Cluttered models? Bring in view presenters and tidy things up! We'll incrementally refactor from the simplest solution to a clean, reusable system.