<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <atom:link href="https://wendelladriel.com/feed.rss" rel="self" type="application/rss+xml" />
        <title><![CDATA[Wendell Adriel's Blog]]></title>
        <link><![CDATA[https://wendelladriel.com/feed.rss]]></link>
        <image>
            <url>/img/icon.png</url>
            <title><![CDATA[Wendell Adriel's Blog]]></title>
            <link><![CDATA[https://wendelladriel.com/feed.rss]]></link>
        </image>
        <description><![CDATA[Wendell Adriel's Blog and Website, where I write about Software Development, Open Source, and other topics.]]></description>
        <language>en-US</language>
        <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>

                    <item>
                <title><![CDATA[RBAC in Laravel: A Practical Deep Dive]]></title>
                <link>https://wendelladriel.com/blog/rbac-in-laravel-a-practical-deep-dive</link>
                <description><![CDATA[A deep dive into Role-Based Access Control, from the theory behind roles and permissions to a practical, team-aware Laravel implementation without external packages.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Laravel Route Binding Behind the Curtains]]></title>
                <link>https://wendelladriel.com/blog/laravel-route-binding-behind-the-curtains</link>
                <description><![CDATA[A deep dive into how Laravel transforms raw route segments into models, scoped children, enums, and custom bound values before your controller runs.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Using the ADR (Action/Domain/Responder) Pattern in Laravel]]></title>
                <link>https://wendelladriel.com/blog/using-the-adr-action-domain-responder-pattern-in-laravel</link>
                <description><![CDATA[Learn what the ADR (Action/Domain/Responder) pattern is and how to apply it in Laravel with a simple, practical example.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[My Take on Vibe Coding VS Agentic Engineering]]></title>
                <link>https://wendelladriel.com/blog/my-take-on-vibe-coding-vs-agentic-engineering</link>
                <description><![CDATA[My thoughts on why Agentic Engineering is a better path than Vibe Coding, and the workflow I use to turn AI agents into a structured engineering process.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Working with PHP and Laravel on VSCode]]></title>
                <link>https://wendelladriel.com/blog/working-with-php-and-laravel-on-vscode</link>
                <description><![CDATA[After a lot of years working with PHP and Laravel on PHPStorm, I am trying to use VSCode and this is how I configured it for the task.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Inside the Laravel Service Container]]></title>
                <link>https://wendelladriel.com/blog/inside-the-laravel-service-container</link>
                <description><![CDATA[Explore Laravel’s Service Container from the ground up: resolution, binding, scopes, contextual dependencies, auto-wiring, and more, and demystify how your app runs.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Thu, 11 Sep 2025 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Welcome to the State Machine Pattern]]></title>
                <link>https://wendelladriel.com/blog/welcome-to-the-state-machine-pattern</link>
                <description><![CDATA[Learn what the State Machine Pattern is and how to apply it in your PHP applications with this in-depth article about it]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Thu, 28 Aug 2025 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Laravel Queues Under the Hood]]></title>
                <link>https://wendelladriel.com/blog/laravel-queues-under-the-hood</link>
                <description><![CDATA[Discover the mechanics behind the Laravel Queue System]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Understanding Laravel Eloquent's Active Record Pattern]]></title>
                <link>https://wendelladriel.com/blog/understanding-laravel-eloquents-active-record-pattern</link>
                <description><![CDATA[Laravel’s Eloquent makes it feel almost magical to move data in and out of your database. Under the hood, that magic is powered by the Active Record pattern, that's a straightforward way to treat a database row as a first-class PHP object with built-in CRUD behaviour.  In this article I'll explain what the Active Record pattern is, its pros and cons and we will build a tiny implementation of it in plain PHP for you to understand better the mechanics behind Eloquent.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Strategic Enums in PHP]]></title>
                <link>https://wendelladriel.com/blog/strategic-enums-in-php</link>
                <description><![CDATA[Enumerations, commonly known as Enums are a powerful tool in Software Development and can play an important role in the Architecture and Design of applications if used correctly. In this article let's review how we can strategically use them to improve our applications.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Thu, 16 May 2024 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Why to use Custom Exceptions in PHP]]></title>
                <link>https://wendelladriel.com/blog/why-to-use-custom-exceptions-in-php</link>
                <description><![CDATA[When creating applications with PHP, Exceptions play a vital role in handling errors and irregularities that arise during the application lifecycle. We are going to see how to use Custom Exceptions to improve our applications.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Thu, 02 May 2024 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Understanding Value Objects in PHP]]></title>
                <link>https://wendelladriel.com/blog/understanding-value-objects-in-php</link>
                <description><![CDATA[Value Objects is a fantastic concept that we can use to improve our applications. They are small objects, such as Money, DateRange, Email, or Age, that we utilize on complex applications. They are key elements in creating efficient, understandable, and maintainable code.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Fri, 06 Oct 2023 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Composition Over Inheritance in PHP]]></title>
                <link>https://wendelladriel.com/blog/composition-over-inheritance-in-php</link>
                <description><![CDATA[The debate between the advantages and disadvantages of both composition and inheritance has taken centre stage in the PHP development community recently. In this article, I'll talk about those two concepts and the advantages of using Composition over Inheritance.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Mon, 02 Oct 2023 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Avoid the AOP: Array-Oriented Programming]]></title>
                <link>https://wendelladriel.com/blog/avoid-the-aop-array-oriented-programming</link>
                <description><![CDATA[Arrays are a convenient way of organizing and passing data in PHP applications, but should we do it? In this article, I'll show the cons of abusing the use of associative arrays and a simple alternative for that.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Tue, 26 Sep 2023 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Laravel AaaS - Actions as a Service]]></title>
                <link>https://wendelladriel.com/blog/laravel-aaas-actions-as-a-service</link>
                <description><![CDATA[Action classes and Invokable Controllers are a hot topic in Laravel nowadays. In this article I'll explain why I think Invokable Controllers are a bad idea and an architectural pattern I created and named as AaaS.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Mon, 23 Jan 2023 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Laravel Collections: The Artisan's Guide]]></title>
                <link>https://wendelladriel.com/blog/laravel-collections-the-artisans-guide</link>
                <description><![CDATA[Laravel Collections are really powerful for working with arrays of data. Let's learn how to use the methods they provide to improve our applications.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Mon, 16 Jan 2023 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[API Versioning in Laravel]]></title>
                <link>https://wendelladriel.com/blog/api-versioning-in-laravel</link>
                <description><![CDATA[Have you ever heard of API versioning? This is very handy when you need to add an alternative logic for some endpoints but want to keep the current logic for some users. Let's learn a simple way to achieve that in Laravel.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Thu, 29 Dec 2022 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Standard API Responses With Laravel Responsables]]></title>
                <link>https://wendelladriel.com/blog/standard-api-responses-with-laravel-responsables</link>
                <description><![CDATA[Data structure standards are the way to go for having good maintainability in our applications. Let's learn how we can use Laravel Responsables to create standardised API responses for our applications.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Wed, 21 Dec 2022 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Data Transfer Objects in Laravel - Why and How]]></title>
                <link>https://wendelladriel.com/blog/data-transfer-objects-in-laravel-why-and-how</link>
                <description><![CDATA[Data Transfer Objects can be a great way to improve your applications. Let's learn why and how to use them in Laravel.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Fri, 16 Dec 2022 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Structuring a Server-Side Application]]></title>
                <link>https://wendelladriel.com/blog/structuring-a-server-side-application</link>
                <description><![CDATA[Let's learn how we can structure a server-side application in a simple way, while using a clean and efficient architecture that could be used for small to large applications.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Fri, 05 Aug 2022 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Working With Multiple CSS Themes]]></title>
                <link>https://wendelladriel.com/blog/working-with-multiple-css-themes</link>
                <description><![CDATA[Let's learn how to create and work with multiple themes in CSS.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Sat, 27 Apr 2019 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Theming With CSS Variables]]></title>
                <link>https://wendelladriel.com/blog/theming-with-css-variables</link>
                <description><![CDATA[Let's learn how to theme websites using CSS variables.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Thu, 25 Apr 2019 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[From 'Highway to (callback) Hell' to 'Stairway to (async/await) Heaven']]></title>
                <link>https://wendelladriel.com/blog/from-highway-to-callback-hell-to-stairway-to-async-await-heaven</link>
                <description><![CDATA[Let's learn the new way of working with asynchronous code on JavaScript.]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Wed, 01 Mar 2017 00:00:00 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[ES6 and Interviews]]></title>
                <link>https://wendelladriel.com/blog/es6-and-interviews</link>
                <description><![CDATA[Let's see how ES6 features can help you get the job you want]]></description>
                <author><![CDATA[Wendell Adriel <contact@wendelladriel.com>]]></author>
                <pubDate>Tue, 27 Dec 2016 00:00:00 +0000</pubDate>
                            </item>
            </channel>
</rss>
