<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/vendor/feed/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
                        <id>https://phptoptens.com/authors/wendell-adriel/feed</id>
                                <link href="https://phptoptens.com/authors/wendell-adriel/feed" rel="self"></link>
                                <title><![CDATA[Artisan Weekly — Author Feed]]></title>
                    
                                <subtitle>Featured links for a given author across Artisan Weekly editions.</subtitle>
                                                    <updated>2026-10-22T08:13:35+01:00</updated>
                        <entry>
            <title><![CDATA[When Retries Make Things Worse: Protecting Your System From Overload]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/when-retries-make-things-worse-protecting-your-system-from-overload" />
            <id>https://wendelladriel.com/blog/when-retries-make-things-worse-protecting-your-system-from-overload</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[A comprehensive guide exploring how retry mechanisms can paradoxically overload your system, with practical strategies for managing retries safely including timeout budgets, concurrent work limits, and observability patterns.]]>
            </summary>
                                    <updated>2026-10-22T08:13:35+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Eloquent Performance and Database Design: Evidence Before Eager Loading]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/eloquent-performance-and-database-design-evidence-before-eager-loading" />
            <id>https://wendelladriel.com/blog/eloquent-performance-and-database-design-evidence-before-eager-loading</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[A guide to optimising Laravel Eloquent query performance through evidence-based design patterns, covering N+1 problems, eager loading strategies, indexing, and database query analysis with practical examples.]]>
            </summary>
                                    <updated>2026-09-11T07:08:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Modular Monoliths: Creating Real Boundaries Before Reaching for Microservices]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/modular-monoliths-creating-real-boundaries-before-reaching-for-microservices" />
            <id>https://wendelladriel.com/blog/modular-monoliths-creating-real-boundaries-before-reaching-for-microservices</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[Wendell guides us through how to structure your Laravel application as modular monoliths with clear business boundaries, explicit APIs, and owned data - avoiding the pitfalls of both tangled monoliths and premature microservice migration.]]>
            </summary>
                                    <updated>2026-08-27T16:59:49+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP Attributes: What, Why, How and When]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/php-attributes-what-why-how-and-when" />
            <id>https://wendelladriel.com/blog/php-attributes-what-why-how-and-when</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[A deep dive into PHP attributes, exploring what they are, why they're useful, and when to use them. Wendell covers everything from basic attribute anatomy to practical implementation examples, including Laravel integration and best practices for metaprogramming in modern PHP.]]>
            </summary>
                                    <updated>2026-07-23T18:27:50+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Laravel Scheduler Under the Hood]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/the-laravel-scheduler-under-the-hood" />
            <id>https://wendelladriel.com/blog/the-laravel-scheduler-under-the-hood</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[A comprehensive deep dive into how Laravel's Scheduler works internally, exploring how scheduled tasks move from definition to execution, including cron expressions, locks, background execution, and sub-minute scheduling. Essential reading for Laravel developers who want to understand the mechanics behind Schedule::command() and build reliable production task scheduling.]]>
            </summary>
                                    <updated>2026-07-16T18:59:48+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Everything About the Context Facade]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/everything-about-the-context-facade" />
            <id>https://wendelladriel.com/blog/everything-about-the-context-facade</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[A comprehensive deep dive into Laravel's Context facade, exploring how to use execution metadata to improve debugging across requests, queued jobs, and logs. The article covers the mental model, lifecycle integration, practical examples, and best practices for when and when not to use Context in Laravel applications.]]>
            </summary>
                                    <updated>2026-07-02T15:22:39+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Eloquent Query Classes Pattern]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/eloquent-query-classes-pattern" />
            <id>https://wendelladriel.com/blog/eloquent-query-classes-pattern</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[An in-depth exploration of the Eloquent Query Classes pattern in Laravel, explaining how to organise complex database queries into dedicated classes to avoid duplication and improve maintainability as your application grows.]]>
            </summary>
                                    <updated>2026-06-11T06:46:01+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improving Laravel Architecture With Expressive]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/improving-laravel-architecture-with-expressive" />
            <id>https://wendelladriel.com/blog/improving-laravel-architecture-with-expressive</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[Wendell Adriel explores how the Expressive package helps decouple Eloquent models from business logic by providing fully typed objects, making Laravel applications more maintainable as they scale. The article demonstrates how to keep Eloquent as the persistence layer whilst giving your application cleaner, safer typed objects to work with.]]>
            </summary>
                                    <updated>2026-06-04T15:53:39+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Typed Objects for Eloquent with Expressive]]></title>
            <link rel="alternate" href="https://laravel-news.com/typed-objects-for-eloquent-with-expressive" />
            <id>https://laravel-news.com/typed-objects-for-eloquent-with-expressive</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[A new package by Wendell Adriel called Expressive allows you to create Typed Objects from your Eloquent models to use throughout your codebase. These remind me of entities in CakePHP]]>
            </summary>
                                    <updated>2026-05-31T08:29:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Idempotency: What, Why and How]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/idempotency-what-why-and-how" />
            <id>https://wendelladriel.com/blog/idempotency-what-why-and-how</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[A comprehensive guide to implementing idempotency in Laravel applications to handle retries safely and prevent duplicate operations like orders, payments, and notifications. Covers both the theory behind idempotent operations and practical implementation using Laravel middleware and attributes.]]>
            </summary>
                                    <updated>2026-04-28T08:27:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Route Binding Behind the Curtains]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/laravel-route-binding-behind-the-curtains" />
            <id>https://wendelladriel.com/blog/laravel-route-binding-behind-the-curtains</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[A comprehensive deep-dive into how Laravel's route binding works internally, tracing the complete lifecycle from URI matching to model resolution. This technical article explains the middleware pipeline, implicit vs explicit binding, and advanced features like scoped bindings and custom resolution logic.]]>
            </summary>
                                    <updated>2026-04-16T21:49:00+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the ADR (Action/Domain/Responder) Pattern in Laravel]]></title>
            <link rel="alternate" href="https://wendelladriel.com/blog/using-the-adr-action-domain-responder-pattern-in-laravel" />
            <id>https://wendelladriel.com/blog/using-the-adr-action-domain-responder-pattern-in-laravel</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[Learn how to implement the Action/Domain/Responder pattern in Laravel to keep controllers thin, business logic reusable, and response handling separate. This architectural approach helps manage growing Laravel applications by clearly separating HTTP concerns from business rules and response formatting.]]>
            </summary>
                                    <updated>2026-04-09T15:20:21+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Meet Maestro: How We Manage 21 Laravel Starter Kit Variants]]></title>
            <link rel="alternate" href="https://laravel.com/blog/meet-maestro-how-we-manage-21-laravel-starter-kit-variants-without-losing-our-minds" />
            <id>https://laravel.com/blog/meet-maestro-how-we-manage-21-laravel-starter-kit-variants-without-losing-our-minds</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[Laravel introduces Maestro, an orchestrator tool that streamlines the maintenance of 21 starter kit variants by centralizing changes in a single repository instead of manually updating multiple repositories. This tool transforms the contributor workflow by letting developers work on built kit variants while automatically syncing changes back to the correct source layers.]]>
            </summary>
                                    <updated>2026-04-02T22:10:49+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Queues Under the Hood]]></title>
            <link rel="alternate" href="https://t.ly/ymS_p" />
            <id>https://t.ly/ymS_p</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[Wendell Adriel with "Laravel Queues Under the Hood" -]]>
            </summary>
                                    <updated>2026-01-13T22:57:36+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Inside the Laravel Service Container]]></title>
            <link rel="alternate" href="https://t.ly/115wC" />
            <id>https://t.ly/115wC</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[Inside the Laravel Service Container]]>
            </summary>
                                    <updated>2026-01-13T22:57:35+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Welcome to the State Machine Pattern]]></title>
            <link rel="alternate" href="https://t.ly/TNbxP" />
            <id>https://t.ly/TNbxP</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[Welcome to the State Machine Pattern]]>
            </summary>
                                    <updated>2026-01-13T22:57:35+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Inside Laravel's Starter Kits with Wendell Adriel]]></title>
            <link rel="alternate" href="https://share.transistor.fm/s/e9df7856" />
            <id>https://share.transistor.fm/s/e9df7856</id>
            <author>
                <name><![CDATA[Wendell Adriel]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[In this episode of the Laravel Podcast Matt Stauffer talks to Wendell Adriel, they chat about the starter kits hes worked on since joining Laravel, his path into coding and how he ended up at Laravel.]]>
            </summary>
                                    <updated>2026-06-25T16:04:58+01:00</updated>
        </entry>
    </feed>
