open-solid/callable-invoker
Open Solid Callable Invoker is a lightweight PHP utility for invoking any callable with automatic dependency resolution. It supports closures, class methods, and invokable objects, making it easy to wire actions and handlers in Laravel applications. Clean, flexible, and framework-friendly.
resolve() code. It is an enabler for configurable product surfaces rather than a user-facing feature itself.app()->call(). This package only earns a dependency if it delivers more predictable semantics — named parameter overrides, explicit binding rules, clearer errors. Validate that gap before committing engineering time.Consider it when:
call_user_func_array plus container calls.Look elsewhere when:
app()->call() already covers the need — adding a dependency for parity is not justified.For executives: This is a small, focused utility that lets the platform run callables — functions, classes, or handlers — chosen dynamically at runtime. It is a building block for configurable actions, integrations, and workflow steps, and it removes bespoke glue code and delivery risk for any feature that needs runtime dispatch. The trade-off is maturity: it is pre-1.0 (v0.2.1) and the latest release is a patch with no documented changes. Recommendation: adopt for internal or non-critical features, pin the version, and reassess at 1.0 before using it in core revenue paths.
For engineering: It centralizes callable resolution and invocation with container-aware dependency injection, replacing scattered ReflectionFunction and call_user_func_array patterns. That improves consistency, error handling, and testability, and keeps invocation logic framework-agnostic behind any PSR-11 container. Trade-offs: a 0.x API may change, and the v0.2.1 changelog provides no functional detail, so review the diff before upgrading. Keep usage behind a thin internal interface so Laravel's app()->call() or another invoker can be swapped in if the package stalls.
How can I help you explore Laravel packages today?