PHP code example of viloveul / container

1. Go to this page and download the library: Download viloveul/container library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

viloveul / container example snippets




$container = Viloveul\Container\ContainerFactory::instance();

class YourClassA
{
	public $name = 'Hello';
}

class YourClassB
{
	public $name = null;

	public function __construct(YourClassA $a)
	{
		$this->name = $a->name;
	}
}

$result = $container->make(YourClassB::class);

var_dump($result);



$container = new Viloveul\Container\Container();

interface EntityInterface
{
}

class YourClassA implements EntityInterface
{
	public $name = 'Hello';
}

class YourClassB
{
	public $name = null;

	public function __construct(EntityInterface $entity)
	{
		$this->name = $entity->name;
	}
}

$container->set(EntityInterface::class, YourClassA::class);

$result = $container->make(YourClassB::class);

var_dump($result);

$entity = $container->get(EntityInterface::class);

var_dump($entity);

$container->set('world', function(EntityInterface $entity) {
	return new YourClassB($entity);
});

$world = $container->get('world');

var_dump($world);

$maybe = $container->invoke(function(EntityInterface $entity) {
	return $entity;
});

var_dump($maybe);