slick/di
Slick\DI is a lightweight dependency injection container for PHP that wires services through autowiring, explicit bindings, and lazy resolution. It offers a small, PSR-11 friendly API for managing object lifecycles in Laravel, Slim, and standalone applications.
slick/di remains a standalone container from the Slick framework; adopting it inside Laravel would create a second container and duplicate core framework behavior unless a narrow interoperability need exists. The new #[Autowire] setter support and name-based scalar resolution make Slick marginally more ergonomic within its own ecosystem, but they do not create a reason for a Laravel app to adopt it.NOASSERTION), which creates legal, security-patching, and long-term support risk. A v2.10.0 release is a positive signal that upstream is actively maintained, but semver-minor activity is not adoption evidence. The core risk remains introducing a second container with unclear scope, singleton lifecycle, and exception semantics — now with the added nuance that misconfiguration may degrade silently rather than throw.slick/di should only be considered as an isolated adapter for a legacy or third-party subsystem that already expects it. The v2.10.0 features do not change this positioning.slick/di. Wrap the specific integration point: register a Slick container instance as a Laravel singleton, seed it with required dependencies from Laravel, and expose only the minimal API the legacy component needs. v2.10.0 slightly reduces the seeding burden for scalars and nullables, but the recommendation to avoid bidirectional container resolution and hidden service-locator patterns stands. Prefer explicit binding over the new implicit name-based lookup wherever the adapter controls the registration, so failures remain deterministic.#[Autowire] during object creation, scalar resolution by parameter name (including when no matching binding exists), nullable arguments resolving to null versus throwing, plus the existing cases for constructor injection, shared instances, missing bindings, circular dependencies, and container exceptions. Because dependents are 0, assume no Laravel community compatibility evidence exists. The removal of in-repo documentation in favor of GitHub Pages is a minor doc-location change; confirm the published docs are live before relying on them.null, misconfiguration can now fail quietly rather than loudly — surfacing as unexpected null dependencies at runtime or a wrong scalar being injected from a same-named binding. License ambiguity is also a business failure mode, not just a legal one.How can I help you explore Laravel packages today?