Skip to content
A simple callback container registry library
PHP Shell
Branch: master
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.

Callback container

Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Packagist download count Dependency Status

A simple object instantiator to lazy load registered callback handlers. Part of the code base has been extracted from Semantic MediaWiki and is now being deployed as independent library.


  • PHP 5.5
  • HHVM 3.5 or later


The recommended installation method for this library is to add the dependency to your composer.json.

	"require": {
		"onoi/callback-container": "~2.0"


use Onoi\CallbackContainer\CallbackContainerFactory;

$callbackContainerFactory = new CallbackContainerFactory();
$containerBuilder = $callbackContainerFactory->newCallbackContainerBuilder();

$containerBuilder->registerCallbackContainer( ... );

$service = $containerBuilder->create( ... );
$service = $containerBuilder->singleton( ... );

This document contains detailed examples on how to use the CallbackContainerFactory and ContainerBuilder.

Contribution and support

If you want to contribute work to the project please subscribe to the developers mailing list and have a look at the contribution guidelinee. A list of people who have made contributions in the past can be found here.


The library provides unit tests that covers the core-functionality normally run by the continues integration platform. Tests can also be executed manually using the composer phpunit command from the root directory.

Release notes

  • 2.0.0 (2017-02-18)

  • Requires PHP 5.5+

  • Added CallbackContainerFactory

  • Added CallbackContainerBuilder::registerAlias

  • Added CallbackContainerBuilder::registerFromFile to allow loading callback definitions from a file

  • 1.1.0 (2016-04-30)

  • Fixed issue in registeredObject for when a singleton override contained a null argument

  • Deprecated the CallbackLoader interface in favour of the CallbackInstantiator interface

  • Deprecated the NullCallbackLoader class in favour of the NullCallbackInstantiator class

  • 1.0.0 (2015-09-08)

  • Added the CallbackContainer and CallbackLoader interface

  • Added the DeferredCallbackLoader and NullCallbackLoader implementation


GNU General Public License 2.0 or later.

You can’t perform that action at this time.