src/main/php/ioc/DefaultInjectionProvider.php
public function get($name = null)
    {
        $constructor = $this->class->getConstructor();
        if (null === $constructor || $this->class->isInternal()) {
            return $this->class->newInstance();
        }

        $params = $this->injectionValuesForMethod($constructor);
        if (count($params) === 0) {
            return $this->class->newInstance();
        }

        return $this->class->newInstanceArgs($params);
    }
public function get($name = null)
    {
        $constructor = $this->class->getConstructor();
        if (null === $constructor || $this->class->isInternal()) {
            return $this->class->newInstance();
        }

        $params = $this->injectionValuesForMethod($constructor);
        if (count($params) === 0) {
            return $this->class->newInstance();
        }

        return $this->class->newInstanceArgs($params);
    }
returns the value to provide

@param   string  $name
@return  mixed