41554 blogs · [ { "id": "01a0e209-4103-71fc-864b-4e0aee910a7e", "title": "Agent Experience Engineering: Designing Software Agents Can Work With", "url": "https://wendelladriel.com/blog/agent-experience-engineering-designing-software-agents-can-work-with", "published_at": "2026-09-25T00:00:00+00:00" }, { "id": "01a08cff-0b28-734c-b8d9-6e1a1b158d01", "title": "Eloquent Performance and Database Design: Evidence Before Eager Loading", "url": "https://wendelladriel.com/blog/eloquent-performance-and-database-design-evidence-before-eager-loading", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5a8f46bf", "title": "PHP Errors, Exceptions, and Result Types: Designing Failure Boundaries", "url": "https://wendelladriel.com/blog/php-errors-exceptions-and-result-types-designing-failure-boundaries", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5aaf213a", "title": "Modular Monoliths: Creating Real Boundaries Before Reaching for Microservices", "url": "https://wendelladriel.com/blog/modular-monoliths-creating-real-boundaries-before-reaching-for-microservices", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5b372fe8", "title": "Immutability in PHP Beyond readonly", "url": "https://wendelladriel.com/blog/immutability-in-php-beyond-readonly", "published_at": "2026-08-14T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5b3744f4", "title": "PHP Attributes: What, Why, How and When", "url": "https://wendelladriel.com/blog/php-attributes-what-why-how-and-when", "published_at": "2026-07-20T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5b6f0184", "title": "The Laravel Scheduler Under the Hood", "url": "https://wendelladriel.com/blog/the-laravel-scheduler-under-the-hood", "published_at": "2026-07-13T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5b9f0b68", "title": "UUIDs, ULIDs and Sqids: A Practical Deep Dive", "url": "https://wendelladriel.com/blog/uuids-ulids-and-sqids-a-practical-deep-dive", "published_at": "2026-07-06T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5c2ceb50", "title": "Everything About the Context Facade", "url": "https://wendelladriel.com/blog/everything-about-the-context-facade", "published_at": "2026-06-22T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5d221130", "title": "Eloquent Query Classes Pattern", "url": "https://wendelladriel.com/blog/eloquent-query-classes-pattern", "published_at": "2026-06-08T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5d4506e2", "title": "Improving Laravel Architecture With Expressive", "url": "https://wendelladriel.com/blog/improving-laravel-architecture-with-expressive", "published_at": "2026-06-01T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5d7a7792", "title": "Laravel Request Lifecycle Deep Dive: From Request to Response", "url": "https://wendelladriel.com/blog/laravel-request-lifecycle-deep-dive", "published_at": "2026-05-25T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5e63f7e1", "title": "Idempotency: What, Why and How", "url": "https://wendelladriel.com/blog/idempotency-what-why-and-how", "published_at": "2026-04-27T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5f52495b", "title": "RBAC in Laravel: A Practical Deep Dive", "url": "https://wendelladriel.com/blog/rbac-in-laravel-a-practical-deep-dive", "published_at": "2026-04-20T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a5f981363", "title": "Laravel Route Binding Behind the Curtains", "url": "https://wendelladriel.com/blog/laravel-route-binding-behind-the-curtains", "published_at": "2026-04-13T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a60933a0b", "title": "Using the ADR (Action/Domain/Responder) Pattern in Laravel", "url": "https://wendelladriel.com/blog/using-the-adr-action-domain-responder-pattern-in-laravel", "published_at": "2026-04-07T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a60f00ae8", "title": "My Take on Vibe Coding VS Agentic Engineering", "url": "https://wendelladriel.com/blog/my-take-on-vibe-coding-vs-agentic-engineering", "published_at": "2026-03-25T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a61c7a87d", "title": "Working with PHP and Laravel on VSCode", "url": "https://wendelladriel.com/blog/working-with-php-and-laravel-on-vscode", "published_at": "2025-11-10T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a61cd8701", "title": "Inside the Laravel Service Container", "url": "https://wendelladriel.com/blog/inside-the-laravel-service-container", "published_at": "2025-09-11T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a61fd4555", "title": "Welcome to the State Machine Pattern", "url": "https://wendelladriel.com/blog/welcome-to-the-state-machine-pattern", "published_at": "2025-08-28T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a627edfed", "title": "Laravel Queues Under the Hood", "url": "https://wendelladriel.com/blog/laravel-queues-under-the-hood", "published_at": "2025-08-18T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a63661124", "title": "Understanding Laravel Eloquent's Active Record Pattern", "url": "https://wendelladriel.com/blog/understanding-laravel-eloquents-active-record-pattern", "published_at": "2025-08-08T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a645ab178", "title": "Strategic Enums in PHP", "url": "https://wendelladriel.com/blog/strategic-enums-in-php", "published_at": "2024-05-16T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a65380df1", "title": "Why to use Custom Exceptions in PHP", "url": "https://wendelladriel.com/blog/why-to-use-custom-exceptions-in-php", "published_at": "2024-05-02T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a65b63789", "title": "Understanding Value Objects in PHP", "url": "https://wendelladriel.com/blog/understanding-value-objects-in-php", "published_at": "2023-10-06T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a66b129da", "title": "Composition Over Inheritance in PHP", "url": "https://wendelladriel.com/blog/composition-over-inheritance-in-php", "published_at": "2023-10-02T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a66d1134d", "title": "Avoid the AOP: Array-Oriented Programming", "url": "https://wendelladriel.com/blog/avoid-the-aop-array-oriented-programming", "published_at": "2023-09-26T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a67998a84", "title": "Laravel AaaS - Actions as a Service", "url": "https://wendelladriel.com/blog/laravel-aaas-actions-as-a-service", "published_at": "2023-01-23T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a687e9f2d", "title": "Laravel Collections: The Artisan's Guide", "url": "https://wendelladriel.com/blog/laravel-collections-the-artisans-guide", "published_at": "2023-01-16T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a688f9d7e", "title": "API Versioning in Laravel", "url": "https://wendelladriel.com/blog/api-versioning-in-laravel", "published_at": "2022-12-29T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a698c361a", "title": "Standard API Responses With Laravel Responsables", "url": "https://wendelladriel.com/blog/standard-api-responses-with-laravel-responsables", "published_at": "2022-12-21T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a6a17a058", "title": "Data Transfer Objects in Laravel - Why and How", "url": "https://wendelladriel.com/blog/data-transfer-objects-in-laravel-why-and-how", "published_at": "2022-12-16T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a6a5b2098", "title": "Structuring a Server-Side Application", "url": "https://wendelladriel.com/blog/structuring-a-server-side-application", "published_at": "2022-08-05T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a6ab80f1d", "title": "Working With Multiple CSS Themes", "url": "https://wendelladriel.com/blog/working-with-multiple-css-themes", "published_at": "2019-04-27T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a6acd03ba", "title": "Theming With CSS Variables", "url": "https://wendelladriel.com/blog/theming-with-css-variables", "published_at": "2019-04-25T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a6b13a272", "title": "From 'Highway to (callback) Hell' to 'Stairway to (async/await) Heaven'", "url": "https://wendelladriel.com/blog/from-highway-to-callback-hell-to-stairway-to-async-await-heaven", "published_at": "2017-03-01T00:00:00+00:00" }, { "id": "01a08c61-8049-7355-bff7-e04a6b2e9742", "title": "ES6 and Interviews", "url": "https://wendelladriel.com/blog/es6-and-interviews", "published_at": "2016-12-27T00:00:00+00:00" } ] posts Claim your blog
Back to wendelladriel.com
Blog · corpus.blog/blogs/wendelladriel.com/posts

wendelladriel.com

wendelladriel.com

2026

2025

2024

2023

2022

2019

2017

2016