rappasoft/laravel-helpers
rappasoft/laravel-helpers offers a practical collection of helper functions and classes for Laravel, including utilities for arrays, strings, dates, numbers, URLs, and more. It helps reduce repetitive boilerplate and speed up everyday application development.
array_first, array_last, array_where, array_forget, array_except) plus control-flow helpers (retry(), value()). The PM decision is whether to keep paying the dependency/maintenance cost versus inlining or replacing these with Laravel's native Arr/Str APIs. The v3.0.2 fixes to retry() attempt counts, delay-callback arguments, and value() closure forwarding suggest these helpers are load-bearing in real code paths — worth auditing before removal.array_first()/array_last() with array-only signatures, while this package keeps callback/default-argument signatures on PHP 8.1–8.4. Any team planning an 8.5 upgrade must budget a refactor of call sites that pass callbacks or defaults (array_value_first(array_where(...), $default)). This is a concrete line item in upgrade planning, not a hypothetical.retry() attempt counts and delay callbacks touch backoff/retry semantics — directly relevant to reliability of queued jobs, HTTP clients, and third-party integrations. Similarly, array_forget()/array_except() now preserve mixed nested/top-level deletions, which reduces silent data-loss bugs in config and payload manipulation.Adopt / keep when:
array_first/array_last, which are not available natively until PHP 8.5 — and even then, not with these signatures.retry() with predictable attempt counts and delay-callback arguments, or value() that forwards closure arguments.Look elsewhere / reconsider when:
array_first/array_last call sites — the native functions will shadow or conflict with these, so this becomes a migration tax.Illuminate\Support\Arr, Str, and the framework's own value()/retry() helpers; consolidating reduces dependency count and upgrade friction.ctype and mbstring extensions enabled in all environments (the package's stated requirement).To executives: This is a low-risk, well-tested utility dependency that fixes real reliability issues (retry() backoff/attempt counting, safe array deletions) at effectively zero cost. The one strategic point is timing: PHP 8.5 introduces native functions with the same names but different signatures, so upgrading PHP later requires a scoped refactor. Approving a small, planned migration ticket now avoids an emergency one during the next platform upgrade.
To engineering: v3.0.2 corrects retry() attempt counts and delay-callback arguments, forwards closure arguments through value(), and fixes array_forget()/array_except() so mixed nested/top-level deletions are preserved. Requires PHP 8.1+ with ctype and mbstring; suite is green across PHP 8.1–8.5 (107 tests, 243 assertions) with clean dependency audits. Action item: grep for array_first(/array_last( calls that pass a callback or default — those must be rewritten as array_value_first(array_where($items, $callback), $default) before any PHP 8.5 upgrade. Also evaluate whether our remaining usages are still justified versus Laravel's native Arr/value()/retry() equivalents, since that determines whether this stays a long-term dependency.
How can I help you explore Laravel packages today?