Skip to content

Service Container interface for use in StellarWP libraries.

License

Notifications You must be signed in to change notification settings

stellarwp/container-contract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StellarWP Container Contract

Service Container interface for use in StellarWP libraries.

Note that this is not a Container implementation of its own. It is merely abstractions that describe the components of a Dependency Injection Container.

Installation

It's recommended that you install this contract as a project dependency via Composer:

composer require stellarwp/container-contract

Note: If you typically use a tool like Strauss, you should not customize the namespace of this library in order to have proper compatibility with StellarWP libraries.

Usage

Simply use the ContainerInterface and implement it or use it as a type hint.

use StellarWP\ContainerContract\ContainerInterface;

class Container implements ContainerInterface {
	public function bind( string $id, $implementation ) {}
	public function get( string $id ) {}
	public function has( string $id ) {}
	public function singleton( string $id, $implementation ) {}
}

Example wrappers of other containers