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.
In this workshop, we'll focus exclusively on the open-closed principle (the O in SOLID). Using real-life code, line by line, we'll refactor a confusing class into something far more manageable and extendable. Once finished, we'll have gained the luxury of introducing new functionality, not by modifying existing code, but by instead writing a new class.