Config-driven Service Locator, based on Pimple.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Bright Nucleus Service Locator Component

Config-driven Service Locator, based on Pimple.

Latest Stable Version Total Downloads Latest Unstable Version License

This is a config-driven service locator, to allow easy registration and retrieval of services through the brightnucleus/config component.

It extends the pimple/pimple package.

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-services & 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

Basic Usage



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.