Ripped off a bandaid today. Finally got around to properly tagging all PHPNomad packages, and setting all of them up in Packagist. Currently at 40 repositories, so I needed to get ahead of this before it got out of hand.
-
Archive The Mutator Package
Why We’re Saying Goodbye to Mutators The Mutator package, while well-intentioned, has become a source of unnecessary complexity in our development workflow. What started as an attempt to create a flexible data transformation system has instead created a maze of interfaces, adapters, and callbacks that obscure the true intent of our code. The Problem with Mutators Our current Mutator pattern introduces: A Better Path: Event-Driven Mutations Instead of wrestling with complex Mutator interfaces, we’re embracing a more intuitive approach: Simple, Direct Event Transformations class UserRegisteredEvent implements Event { private string $email; private string $name; public function setEmail(string $email): self {…
-
Pitch: Remove Core Package Completely
The heart of the nomadic approach is that your code should be free to travel and adapt, like a digital nomad who can work from anywhere. The existence of a core package actually contradicts this fundamental principle. Here’s why: The solution is to break down the core package into focused, independent tools that developers can use as needed. Each piece should solve a specific problem in making code more portable, without creating dependencies on PHPNomad itself. Think of PHPNomad more like a travel guide than a destination. It should show you how to write code that can travel well, not…
-
-
Alex Standiford
I’m a bad singer, but it doesn’t mean that I don’t enjoy singing. So I do. With headphones. Up high. So I can be loud, and not hear myself sing. It’s great! I feel good, and don’t have to subject myself to the sounds coming out of my mouth-hole.
And then I got Airpods, and sometimes I forget conversation awareness is on, and I feel like it’s Apple’s way of silently judging me by bringing to light just how I sound to the rest of the world 😭
-
Proposed New Facade Pattern That Supports Multiple Containers
Current Implementation PHPNomad currently uses a Facade pattern implemented through abstract classes to provide static access to services. Facades serve two primary purposes: The current implementation requires: Challenges Architectural Limitations Impact on PHPNomad’s Core Philosophy The current Facade implementation conflicts with PHPNomad’s goal of writing truly portable code. By relying on global state and single container context, we limit the ability for code to be truly “nomadic” and run anywhere. Proposed Solution New Facade Pattern Instead of using abstract classes and global state, we propose a new pattern that: Implementation Details class LoggerFacade { use WithFacadeCapability; protected static function getRequiredType():…
-
Alex Standiford
I got it in the air. 10mph winds. I seriously think this is my perfect Ohio kite. Hits that Goldilocks zone between a 4D and a Quantum. 😍 it’s a Kitty Hawk Kite edition Nexus and I’m in love.
-
-
-
Re-Acquainting Myself With Being A Visionary
Between late night binges playing Phasmophobia, I’ve been doing a lot of “future work” lately. Thinking about Novatorius, Siren, and what it all means. How does it all connect to my beliefs, and my life, and what’s the purpose of all of it.