cosmira/soda
cosmira/soda is a lightweight Laravel/PHP package for simple object data access, offering an expressive API to query and manage records. It integrates cleanly with Laravel, reduces boilerplate, and keeps database interactions clear and minimal. Easy to learn and extend.
else/elseif only after proven unconditional exits; prefer_continue restricted to nested executable control flow) is the kind of maintenance cost a team avoids by buying rather than building.max_return_statements has been removed from the standard gate but remains an explicit opt-in rule. PM decision: whether our baseline enforces return-count limits by default or treats them as a team-specific add-on. This affects onboarding friction and legacy-code migration plans.try/finally and return variables carrying local type assertions. That reduces the risk of automated or suggested rewrites changing runtime behavior in payment, queue, and transaction-heavy Laravel code paths.Consider adoption when:
continue over nesting, redundant branches) and needs an objective arbiter rather than ad-hoc review comments.try/finally blocks and typed return paths.Look elsewhere or defer when:
max_return_statements as a blocking default. It has been removed from the standard gate; you must configure it explicitly, so evaluate whether that changes your baseline before upgrading.For executives: This is a low-risk, no-new-dependency upgrade to our PHP code-quality tooling. It reduces noisy, incorrect findings that slow down code review, keeps existing configurations and rule IDs intact, and requires no migration work. It supports a consistent engineering standard across Laravel services and lowers the cost of modernizing legacy code without changing runtime behavior.
For engineering leadership: The release is primarily a precision improvement — fewer false positives on else/elseif, prefer_continue, and return-count rules, with explicit protection for observable bindings in try/finally and typed return paths. The default gate is now 108 checks; max_return_statements remains available but must be opted into explicitly. Adopt it as a standard gate, decide deliberately whether to re-enable the return-count rule, and schedule the upgrade as a routine minor-version change rather than a migration.
For engineering teams: Findings will narrow, not expand. If you were relying on max_return_statements through the default gate, add it explicitly to your configuration to preserve prior behavior. Existing explicit rules and IDs continue to work, so the upgrade path is straightforward; expect fewer suppressions and less reviewer debate over control-flow style.
How can I help you explore Laravel packages today?