gcego/registry
gcego/registry is a lightweight Laravel package that provides a simple registry for registering, resolving, and managing shared values, services, and configuration through a clean, fluent API, helping centralize reusable objects and app bindings.
DefinitionProvider classes across packages and roots, including packages that share folders. This enables plugin-style extension points without forcing every package to manually register providers.DefinitionLoadException asking for a restart, rather than silently serving stale classes. This is a product-quality signal for teams running Laravel Octane or long-lived workers.return Foo::class; when a file declares exactly one DefinitionProvider, reducing boilerplate in package/module definition files.DefinitionLoadException instead of fatal errors, and files matched by multiple roots go to the registered kind whose contract accepts the definition. This makes cache rebuild/verification safer to expose in CI or deployment pipelines.Consider adoption when:
DefinitionProvider.DiscoveredFile::$alternatives, withAlternative(), and roots() for advanced discovery scenarios.Look elsewhere when:
For executives: v1.1.0 is a stability and developer-experience release for the definition-discovery layer. It reduces fatal-error risk in cache rebuilds and long-running processes, supports package ecosystems that share folders, and lowers boilerplate for module authors. There are no indicated breaking changes; files that declare no classes behave exactly as before.
For engineering: This release makes class-declaring definition files safe across Registry::refresh(), cache rebuilds, cache verification, cache resolution, and Composer-autoloaded files. It adds class entrypoints, duplicate-class detection via DefinitionLoadException, restart guidance for changed classes in Octane/workers, and root-aware routing for packages sharing folders. The new DiscoveredFile::$alternatives, withAlternative(), and roots() APIs give us extension points without forking the package.
Recommendation: Adopt or retain this package where definition discovery is already part of the architecture. Treat v1.1.0 as a low-risk upgrade that closes operational edge cases and improves package-author ergonomics.
How can I help you explore Laravel packages today?