ZF2 DI Container in its simplest form

Code
<?php

/**
 * the simple DI only works without
 * config when there are dependencies
 * to classes via type hint
 */
class Foo
{
    public 
$prop 'foo';
}

class 
Bar
{
    private 
$foo;
    
    
/**
     * DI container recognizes Foo class dependency
     * and creates Foo object automatically
     */
    
public function __construct(Foo $foo)
    {
        
$this->foo $foo;
    }
    
    public function 
getFooProp()
    {
        return 
$this->foo->prop;
    }
}

use 
Zend\Di\Di;

$di = new Di();

$bar $di->get('Bar');
echo 
$bar->getFooProp();
Result
foo
Used Versions
PHP 7.1, Zend 3.0, Symfony 3.2, Laravel 5.2, PHPUnit 5.6, Doctrine 2.6