<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ollieread.com — Laravel &amp; PHP Expert</title>
    <link>https://ollieread.com</link>
    <description>Articles about Laravel and PHP — from the obvious to the genuinely hidden.</description>
    <language>en-gb</language>
    <lastBuildDate>Wed, 20 May 2026 15:58:50 GMT</lastBuildDate>
    <atom:link href="https://ollieread.com/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>TheGamePanel: A Modern Alternative to Pterodactyl</title>
      <link>https://ollieread.com/articles/thegamepanel-a-modern-alternative-to-pterodactyl</link>
      <guid isPermaLink="true">https://ollieread.com/articles/thegamepanel-a-modern-alternative-to-pterodactyl</guid>
      <description>After years of working with existing game server panels, I&#039;m building my own. The Game Panel is a modern alternative to Pterodactyl and Pelican, built from the ground up on a purpose-built PHP framework with a modular architecture designed for hosts and server owners alike.</description>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Composer Run Dev and Laravel Sail</title>
      <link>https://ollieread.com/articles/composer-run-dev-and-laravel-sail</link>
      <guid isPermaLink="true">https://ollieread.com/articles/composer-run-dev-and-laravel-sail</guid>
      <description>If, like me, you&#039;re a user of Laravel Sail for some of your Laravel projects, you&#039;ll have probably noticed that the 
default &#039;composer run dev&#039; command that ships with Laravel, just won&#039;t work for you. Well, I&#039;ve got a solution for 
you!
</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Laravel&#039;s Route &quot;Model&quot; Binding</title>
      <link>https://ollieread.com/articles/laravels-route-model-binding</link>
      <guid isPermaLink="true">https://ollieread.com/articles/laravels-route-model-binding</guid>
      <description>A source-driven walkthrough of how Laravel resolves route parameters into model instances, covering the UrlRoutable interface and implicit binding customization.</description>
      <pubDate>Wed, 03 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The Hidden Parts of Laravel</title>
      <link>https://ollieread.com/series/the-hidden-parts-of-laravel</link>
      <guid isPermaLink="true">https://ollieread.com/series/the-hidden-parts-of-laravel</guid>
      <description>Laravel&#039;s documentation is excellent, but it doesn&#039;t cover everything. Tucked away in the framework&#039;s source code are features that are either briefly mentioned or entirely undocumented. This series explores those hidden capabilities, how they work, and how you can use them in your own projects.
</description>
      <pubDate>Wed, 03 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Manual Service Resolution in Laravel</title>
      <link>https://ollieread.com/articles/manual-service-resolution-in-laravel</link>
      <guid isPermaLink="true">https://ollieread.com/articles/manual-service-resolution-in-laravel</guid>
      <description>An examination of the various methods for manually resolving services from Laravel&#039;s service container, with recommendations on which to use.</description>
      <pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Laravel Middleware Priority</title>
      <link>https://ollieread.com/articles/laravel-middleware-priority</link>
      <guid isPermaLink="true">https://ollieread.com/articles/laravel-middleware-priority</guid>
      <description>An exploration of Laravel&#039;s undocumented middleware priority feature that controls execution order when multiple middleware pieces apply to a route.</description>
      <pubDate>Wed, 19 Nov 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Decorating Services in Laravel</title>
      <link>https://ollieread.com/articles/decorating-services-in-laravel</link>
      <guid isPermaLink="true">https://ollieread.com/articles/decorating-services-in-laravel</guid>
      <description>How to use Laravel&#039;s undocumented extend method to add functionality to existing services without modifying their code.</description>
      <pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Introducing the Request-derived Context Pattern</title>
      <link>https://ollieread.com/articles/introducing-the-request-derived-context-pattern</link>
      <guid isPermaLink="true">https://ollieread.com/articles/introducing-the-request-derived-context-pattern</guid>
      <description>Defining the Request-derived Context Pattern, an architectural approach for extracting and managing contextual  information from HTTP requests.
</description>
      <pubDate>Sun, 29 Jun 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Managing the Memory Usage of the Laravel Eloquent Identity Map</title>
      <link>https://ollieread.com/articles/managing-the-memory-usage-of-the-laravel-eloquent-identity-map</link>
      <guid isPermaLink="true">https://ollieread.com/articles/managing-the-memory-usage-of-the-laravel-eloquent-identity-map</guid>
      <description>Addressing memory management challenges when using a Laravel Eloquent identity map, particularly in scenarios involving large model hydration or Laravel Octane environments.</description>
      <pubDate>Tue, 10 Jun 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Building An Eloquent Identity Map</title>
      <link>https://ollieread.com/series/building-an-eloquent-identity-map</link>
      <guid isPermaLink="true">https://ollieread.com/series/building-an-eloquent-identity-map</guid>
      <description>A two-part series walking through the implementation of an identity map for Laravel Eloquent. The first article  introduces the pattern, explains what it achieves, and builds a minimal implementation using a custom base model  class. The second article follows up on the memory implications of that implementation, covering how to manage and  prevent memory leaks, particularly in long-lived processes such as those powered by Laravel Octane.
</description>
      <pubDate>Tue, 10 Jun 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A Minimal Identity Map for Laravel Eloquent</title>
      <link>https://ollieread.com/articles/a-minimal-identity-map-for-laravel-eloquent</link>
      <guid isPermaLink="true">https://ollieread.com/articles/a-minimal-identity-map-for-laravel-eloquent</guid>
      <description>Implementing the Identity Map pattern for Laravel Eloquent to ensure consistent model instances across your application.</description>
      <pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Avoiding Eager Loading When Registering Laravel Drivers</title>
      <link>https://ollieread.com/articles/avoiding-eager-loading-when-registering-laravel-drivers</link>
      <guid isPermaLink="true">https://ollieread.com/articles/avoiding-eager-loading-when-registering-laravel-drivers</guid>
      <description>How to defer driver registration in Laravel to avoid eager loading features on every request.</description>
      <pubDate>Mon, 05 May 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Website revamp, new content and upcoming projects</title>
      <link>https://ollieread.com/articles/website-revamp-new-content-and-upcoming-projects</link>
      <guid isPermaLink="true">https://ollieread.com/articles/website-revamp-new-content-and-upcoming-projects</guid>
      <description>Announcing the blog relaunch, initial articles, and upcoming educational products.</description>
      <pubDate>Mon, 05 May 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to Hide Route Parameters from Controllers in Laravel</title>
      <link>https://ollieread.com/articles/how-to-hide-route-parameters-from-controllers-in-laravel</link>
      <guid isPermaLink="true">https://ollieread.com/articles/how-to-hide-route-parameters-from-controllers-in-laravel</guid>
      <description>How to use Laravel&#039;s forgetParameter() method to remove route parameters from the controller&#039;s scope after they&#039;ve been processed.</description>
      <pubDate>Mon, 05 May 2025 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
