This is the default container used in the Core PHP Framework. It is PSR-11 compatable.
PHP >= 7.0.0
Installation via Composer is the recommended method of installation.
composer require learncorephp/container
<?php
use Core\Container\Contracts;
// Create a new Container instance
$container = new Container;
// Add via Factory
$this->addFactory('SomeGreatProject', function() {
return new Some\Great\Project;
});
// Add via Constructor
$this->addClass('SomeGreatProject', Some\Great\Project::class);
// Add via Setter
$this->addSetter('SomeGreatProject', 'Some\Great\Project', [
'setName' => 'ThisIsHell'
]);
// Return a new instance
$awesome = $container->get('SomeGreatProject');