Bright Nucleus Service Locator Component
Config-driven Service Locator, based on Pimple.
This is a config-driven service locator, to allow easy registration and retrieval of services through the
It extends the
Table Of Contents
About The Bright Nucleus Services Architecture
This package is part of the Bright Nucleus Services Architecture, which combines a Config management system (
brightnucleus/config), a Dependency Injector (
brightnucleus/injector), a Service Locator (
brightnucleus/service-locator), a logging subsystem (
brightnucleus/log), a virtual service provider (
brightnucleus/virtual-services) and corresponding WordPress plugins (
brightnucleus/wp-log) to form the basis of an architecture that provides the following benefits:
- Configuration of all involved components through Config files that have defaults overrideable through site-specific, environment-specific or custom-injected settings. Write code once, reuse on all sites, in all environments.
- Proper injector that lets you couple your codebase to interfaces only, deciding at runtime which concrete implementations to inject.
- Service locator that manages loading order and dependencies. Only load and instantiate code that is effectively needed within the current context, defined through other running real and virtual services.
- Logging subsystem that provides general logging and error handling, while providing the means to override logging settings at any granularity level.
- Virtual services that let you incorporate third-party and legacy code into the loading order and dependency management flow of the Service Locator.
- An architecture that runs just as well within the WordPress page request cycle as through a CLI or REST API request.
- WordPress-specific helpers that let you monitor the state of your system within the WordPress backend.
The best way to use this component is through Composer:
composer require brightnucleus/service-locator
All feedback / bug reports / pull requests are welcome.
This package uses the PHP Composter PHPCS PSR-2 package to check committed files for compliance with the PSR-2 Coding Style Guide. If you have valid reasons to skip this check, add the
--no-verify option to your commit command:
git commit --no-verify
This code is released under the MIT license.
For the full copyright and license information, please view the
LICENSE file distributed with this source code.