For such a simple concept, modals can often be tricky to implement. Where exactly do we place them? Where should the event listeners to toggle their display be stored? And how to we make them dynamic? In this series, one piece at a time, we'll discuss everything you need to know about modals within the TALL (Tailwind, Alpine, Laravel, Livewire) stack.
It's time for a new entry in our "How to Read Code" series. This season, we'll dive into the Laravel Breeze source code, taking every opportunity to peek behind the scenes to learn how and why it was constructed in this way. While it's often unnecessary to review the underlying code of the packages and tools you use, that doesn't mean you won't benefit from doing so. If you want to become a better programmer, you must learn, read, and write a lot of code. This series focuses on the reading.
As web developers, we use a wealth of software and tools to get our work done. Some are obvious, such as code editors, IDEs and terminals, while others offer minor optimizations to our workflows. In this series, we’ll go over all the software and tools that I personally use for web development, as well as my personal settings for each. I’ve picked up countless tips from watching other developers' workflows over the years, and I hope do the same for you in this series.
Real-life programming isn't always glamorous. You're not always launching fancy new interactive features backed by weeks of marketing and hype. In fact, that's rarely the case. Instead, much of the time, we work on boring fixes and general maintenance of packages and tools that, frankly, not many people use. This is the reality. In that spirit, for season one of our new "Pull Up a Seat" series, come along as I work on extending the API for my laracasts/cypress package. We'll cover everything from the initial tinkering, all the way up to tagging a new release.
Laravel offers several options for Authentication in your applications. If you'd prefer a head start, you might reach for one of the available first-party packages that provide robust, modern scaffolding for your authentication layer. For example, Laravel Breeze is an excellent choice to get up and running quickly. If you require additional features, Laravel Jetstream offers two-factor auth, API tokens and team management. If you'd instead prefer to use your own front-end stack, you might consider Laravel Fortify as the backend implementation. In this series, we'll review how to use and customize these packages in order to fit the authentication needs of your application.
There's no two ways about it: terminology in the testing world is incredibly overwhelming. Mocks, stubs, and dummies oh my! Let's see if we can cut through the noise. Come along as, bit by bit, we break all of these confusing concepts down into something you can easily understand and implement within your own projects.
Laravel Dusk provides an expressive testing API and browser automation for your apps. In terms of testing, it provides the closest thing to an actual user interacting with your application in a browser. These tests are typically referred to as end to end tests or browser tests. In this series, we’ll prepare a series of Dusk tests for a standard blog application.
Laravel Cashier provides an expressive, fluent interface to Stripe's (and Paddle's) subscription billing services. In this series, we’ll take a look at the features of Cashier that will allow you to create the billing portion of a subscription-based SAAS app, including subscribing users to plans, authorizing with middleware, single charges, and invoices.
If you are lucky enough to build a popular community, then your reward is a never-ending onslaught of spam. It's a simple reality; there's no getting around it. In this series, I'll show you a variety of useful techniques for preventing spam at every turn. We'll review everything from basic keyword matching, to honeypots, to reCAPTCHA.
Laravel Scout is a powerful, full-text search package for your Eloquent models. Follow the basic setup instructions, and within minutes you'll be triggering lightning-fast search queries with Algolia. In this short series, come a long as I demonstrate everything you need to know.
It's hard to believe, but PHP 8 is right around the corner. As part of this new release, not only will you benefit from performance improvements - thanks to the new JIT compiler - but you'll also enjoy useful new operators and types, attributes, match expressions, and so much more. If you're intrigued, hop in and we'll review everything you need to know.
This series is exclusively focused on the art of refactoring code. Make a small change, run the tests, and then make another small change. Each episode provides a variety of long-form examples and pitfalls using real life code. Please note that this series is not chronological. Each episode is unique and may be viewed in any order.