nwidart/money-formatter
A Laravel package for formatting monetary values into readable strings. It helps display amounts with currency symbols and customizable formatting, making prices, totals, and financial data easier to render consistently in Blade views and PHP code.
Architecture fit
moneyphp/money plus number_format/symbol lookup. It is a convenience layer, not infrastructure.Integration feasibility
illuminate/support 4.x/5.0 and PHP 5.4–5.6. Installation on a current Laravel (9/10/11) or PHP 8.x stack will fail dependency resolution; forcing it with --ignore-platform-reqs only defers a runtime failure.composer.json extra.laravel conventions; expect manual provider/facade wiring and config publishing even on a compatible framework.Technical risk
Key questions
moneyphp/money, and at which major version? That determines whether the underlying value object is salvageable.ext-intl/ICU, or hardcoded number_format with a config symbol map? The latter is not a formatter, it's string concatenation.nwidart/laravel-modules (the maintainer's active project) an indicator this one is intentionally retired?Stack fit
Migration path
moneyphp/money 4.x for the value object and arithmetic, with ext-intl's NumberFormatter for locale-aware output — or brick/money if allocation and multi-currency arithmetic are in scope. Both are actively maintained with real test suites.App\Support\MoneyFormatter implementing a MoneyFormatterInterface) so the 2015 API maps 1:1 onto the replacement and call sites do not change.ext-intl, fall back to a small explicit symbol/decimal table with unit tests per currency — but make that an explicit, owned decision rather than inheriting it from an abandoned package.Compatibility
illuminate/*, nesbot/carbon, and moneyphp/money version pins. Check composer why before and after removal to confirm nothing else transitively depends on it.Sequencing
moneyphp/money + intl against that contract in a branch; write characterization tests from the current output to detect regressions.Maintenance
Support
Scaling
Failure modes
number_format directly, the same amount renders differently across invoices, emails, and API payloads.Ramp-up
moneyphp/money semantics (immutable value objects, minor units, explicit rounding) take a developer 1–2 days to use correctly, and that knowledge is durable and transferable in a way this package's is not.Recommendation: Do not adopt. Treat as a reference for API shape only. Where already present, replace with moneyphp/money + ext-intl behind an internal interface within one release cycle; the cost is days, and it removes an upgrade blocker and an unmonitored correctness risk simultaneously.
How can I help you explore Laravel packages today?