Aggregate Roots: Why Your Entity Needs a Private Constructor in PHP
📰 Dev.to · Gabriel Anhaia
new Order(...) is a leak. Order::place(...) is a contract. Private constructors and named factories enforce invariants once, never twice.
new Order(...) is a leak. Order::place(...) is a contract. Private constructors and named factories enforce invariants once, never twice.