<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Php on Hi, I&#39;m Muhammad Amal</title>
    <link>https://muhammadamal.my.id/tags/php/</link>
    <description>Recent content in Php on Hi, I&#39;m Muhammad Amal</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 26 Oct 2023 09:00:00 +0700</lastBuildDate>
    <atom:link href="https://muhammadamal.my.id/tags/php/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Repository Pattern Done Right in PHP and Go, A Decade of Mistakes Distilled</title>
      <link>https://muhammadamal.my.id/blog/repository-pattern-done-right-php-and-go/</link>
      <pubDate>Thu, 26 Oct 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/repository-pattern-done-right-php-and-go/</guid>
      <description>The repository pattern, demystified. When to use it, when not to, and the specific mistakes I made over ten years. Real examples in PHP 8.2 and Go 1.21.</description>
    </item>
    <item>
      <title>Dependency Injection in Laravel 10, Container Patterns That Earn Their Keep</title>
      <link>https://muhammadamal.my.id/blog/dependency-injection-laravel-container-patterns/</link>
      <pubDate>Thu, 19 Oct 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/dependency-injection-laravel-container-patterns/</guid>
      <description>Practical Laravel 10 service container patterns: contextual bindings, scoped instances, and tagged services. With production examples and anti-patterns.</description>
    </item>
    <item>
      <title>Hexagonal Architecture Explained for PHP and Go Developers</title>
      <link>https://muhammadamal.my.id/blog/hexagonal-architecture-explained-for-php-and-go-devs/</link>
      <pubDate>Mon, 09 Oct 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/hexagonal-architecture-explained-for-php-and-go-devs/</guid>
      <description>Hexagonal architecture, ports and adapters, explained without the dogma. With concrete PHP 8.2 and Go 1.21 code, and the parts I think Cockburn got right.</description>
    </item>
    <item>
      <title>Clean Architecture in PHP Without the Cult, A Pragmatic Take</title>
      <link>https://muhammadamal.my.id/blog/clean-architecture-php-without-the-cult/</link>
      <pubDate>Thu, 05 Oct 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/clean-architecture-php-without-the-cult/</guid>
      <description>Clean Architecture in PHP without the dogma. Use cases, entities, and where to stop folder-splitting. A pragmatic guide from a Laravel 10 production codebase.</description>
    </item>
    <item>
      <title>Upgrading to Laravel 10, A Real-World Checklist From a Production Codebase</title>
      <link>https://muhammadamal.my.id/blog/upgrading-laravel-10-real-world-checklist/</link>
      <pubDate>Mon, 02 Oct 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/upgrading-laravel-10-real-world-checklist/</guid>
      <description>What actually breaks when upgrading a Laravel 9 app to Laravel 10 in production. PHP 8.1 floor, native types, deprecations, and the migrations that bit me.</description>
    </item>
    <item>
      <title>Clean Architecture in Laravel 9, Project Layout</title>
      <link>https://muhammadamal.my.id/blog/laravel-9-clean-architecture/</link>
      <pubDate>Mon, 20 Jun 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/laravel-9-clean-architecture/</guid>
      <description>Clean Architecture in Laravel 9: layout, Domain/UseCase/Repository, Eloquent at edges, framework compromises.</description>
    </item>
    <item>
      <title>Writing a Production Dockerfile for a 5-Year-Old PHP Monolith</title>
      <link>https://muhammadamal.my.id/blog/production-dockerfile-php-monolith/</link>
      <pubDate>Wed, 05 Jan 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/production-dockerfile-php-monolith/</guid>
      <description>Line-by-line production Dockerfile for a legacy PHP monolith. Composer caching, opcache, FPM tuning, and the trade-offs nobody documents.</description>
    </item>
  </channel>
</rss>
