- What is itsgoingd/slim-services used for?
- It is a service manager for Slim 3 that adds a Laravel-style service container, service provider bootstrapping, and static facades. It lets you organize dependencies and app bootstrapping the way you would in Laravel, and it exists mainly so Laravel-oriented packages can boot inside a Slim application. It is not a Laravel package itself.
- Can I use itsgoingd/slim-services in a Laravel application?
- No, there is no reason to. Laravel already provides the container, providers, facades, and config repository this package emulates, so adding it would only create a parallel abstraction with no benefit. Its legitimate use is a Slim 3 service that needs to reuse specific Illuminate-dependent packages.
- Does itsgoingd/slim-services support Slim 4?
- No. The package targets the Slim 3 era, including its container handling and settings access patterns, and it will not drop cleanly into Slim 4 because Slim 4 changed container delegation and middleware signatures. Migrating the host service to Slim 4 would require forking this package.
- How do I install itsgoingd/slim-services?
- Install it with Composer, register the service manager against your Slim container, and boot your providers in order. The mechanical setup is straightforward; the real work is making sure the package's Illuminate constraints intersect with the Illuminate major you standardize on. Pin it and lock your Slim minor.
- Which Illuminate packages does itsgoingd/slim-services depend on?
- It sits on top of illuminate/container, illuminate/support, and a config repository. Because Illuminate ships a new major every year, the package's constraint range can lag and cause resolution conflicts on routine composer update. Pin illuminate/* to an exact minor in production.
- Can itsgoingd/slim-services run Laravel packages inside Slim?
- That is the intended use case, with the author's own Clockwork being the canonical example. However, the provider boot sequence is re-implemented and will not match Laravel exactly, including deferred providers, tagged bindings, and facade caching. Works in Laravel is not a guarantee, so validate each package you actually need.
- Is itsgoingd/slim-services production-ready and maintained?
- It is a small single-maintainer project with around 75 stars and no visible CI matrix, so you effectively inherit maintenance. It is best treated as a narrow, time-boxed utility for an existing Slim 3 service rather than a platform dependency. Decide up front who owns the fork if upstream goes dormant.
- What are the alternatives to itsgoingd/slim-services?
- For new work, consolidate on Laravel or a minimal PSR-11 container such as PHP-DI instead of emulating Laravel inside Slim. CLI tooling can move to Laravel Zero. Extracting just the behavior you need into a thin internal adapter is often cheaper than adopting this shim.
- How should I test a Slim app that uses itsgoingd/slim-services?
- Orchestra Testbench will not model this environment, so you need Slim-level integration tests. Validate that the config repository, facade root, and container bindings behave as expected under your harness. Also confirm there is no collision with any existing DI container registration in the host service.
- Does itsgoingd/slim-services work with Octane, RoadRunner, or Swoole?
- Its boot model is request-scoped in the traditional PHP sense, which is a poor fit for long-running runtimes where container and facade state must be reset per request. If you depend on those runtimes, consolidate on Laravel or a PSR-11 stack designed for them. Avoid adopting this package for new long-running services.