• #
    Link

    This one's from 2012 but still holds up. People love reaching for empty() and other short comparisons claiming it's "faster" — but micro-optimizations like that don't matter. What matters is that the next person reading your code understands your intent.

    www.beberlei.de/post/when_to_use_empty_in_php_i_say_never →
  • #
    Video

    After using Raycast and similar tools for window management, I decided to try a proper tiling window manager. AeroSpace still has some quirks, but it works — and it's the best one I've found on macOS so far. Great walkthrough by Josean Martinez covering the full setup.

    Aerospace Is The Best Tiling Window Manager I've Tried On macOS
    Aerospace Is The Best Tiling Window Manager I've Tried On macOS
    Josean Martinez
    macos tools tiling
  • #
    Article

    Stop Mocking Everything

    Mocks can give you a false sense of security. Here's when to use real implementations instead — and why your test suite will thank you.

    Read article →
  • #
    Video

    Mauro's talk on aggregate boundaries is one of the clearest explanations I've seen. He reframes aggregates as consistency boundaries rather than object clusters, which changes how you think about design entirely.

    Aggregate Design — Mauro Servienti
    Aggregate Design — Mauro Servienti
    NDC Conferences
    ddd architecture aggregates
  • #
    Article

    Symfony Messenger Beyond the Basics

    Most tutorials stop at dispatching your first message. Here's what you actually need to know when running Messenger in production.

    Read article →
  • #
    Link

    The htmx team published their entire book online for free. It's a fantastic deep dive into why hypermedia as an architecture is making a comeback — and why the SPA-everywhere era might have been a detour.

    Hypermedia Systems — Free Online Book
    Hypermedia Systems — Free Online Book
  • #
    Product
    PhpStorm
    PhpStorm
    JetBrains

    My daily driver for PHP development. The Symfony plugin, database tools, and refactoring support make it indispensable. Worth every cent of the subscription.

    www.jetbrains.com/phpstorm/ →
  • #
    Article

    Why Value Objects Matter in Domain-Driven Design

    Value objects are one of the most underused tactical patterns in DDD. Here's why they deserve more attention in your PHP codebase.

    Read article →
  • #
    Book
    Implementing Domain-Driven Design
    Implementing Domain-Driven Design
    Vaughn Vernon

    Still the best practical companion to Evans' blue book. Vernon walks through bounded contexts, aggregates, and domain events with concrete Java examples that translate well to PHP. The chapter on context mapping alone is worth the price.

    View on Amazon →
  • #
    Article

    Readable Code Is Not Simple Code

    We conflate readability with simplicity all the time. But sometimes the most readable solution is the one that embraces a little complexity.

    Read article →
  • #
    Article

    CQRS Without Event Sourcing

    You don't need event sourcing to benefit from CQRS. Separating reads and writes is valuable on its own — here's how to do it in a Symfony app.

    Read article →
  • #
    Article

    The Twelve-Factor Symfony App

    Applying twelve-factor methodology to Symfony applications. Most of it comes free — but a few factors need deliberate attention.

    Read article →
  • #
    Article

    Getting Aggregate Boundaries Right

    The hardest part of DDD isn't understanding aggregates — it's deciding where one ends and another begins.

    Read article →