src/ReflectionResolver.php
public function build(string $className, array $arguments = [])
    {
        $arguments = $this->resolveArguments($arguments);

        $class = $this->reflectClass($className);

        // Check if we are already getting this entry -> circular dependency
        if (isset($this->entriesBeingResolved[$className])) {
            throw new ContainerException(sprintf(
                'Circular dependency detected while trying to resolve entry "%s"',
                $className
            ));
        }
        $this->entriesBeingResolved[$className] = true;

        // TODO : améliorer ce bout de code, on fait 2 fois un new class, alors qu'on pourrait en faire qu'un !!! https://github.com/illuminate/container/blob/master/Container.php#L815
        if ($constructor = $class->getConstructor()) {
            $arguments = $this->getParameters($constructor, $arguments);

            unset($this->entriesBeingResolved[$className]);

            return new $className(...$arguments);
        }

        unset($this->entriesBeingResolved[$className]);

        //$reflection->newInstanceArgs($resolved);
        return new $className();
    }
public function build(string $className, array $arguments = [])
    {
        $arguments = $this->resolveArguments($arguments);

        $class = $this->reflectClass($className);

        // Check if we are already getting this entry -> circular dependency
        if (isset($this->entriesBeingResolved[$className])) {
            throw new ContainerException(sprintf(
                'Circular dependency detected while trying to resolve entry "%s"',
                $className
            ));
        }
        $this->entriesBeingResolved[$className] = true;

        // TODO : améliorer ce bout de code, on fait 2 fois un new class, alors qu'on pourrait en faire qu'un !!! https://github.com/illuminate/container/blob/master/Container.php#L815
        if ($constructor = $class->getConstructor()) {
            $arguments = $this->getParameters($constructor, $arguments);

            unset($this->entriesBeingResolved[$className]);

            return new $className(...$arguments);
        }

        unset($this->entriesBeingResolved[$className]);

        //$reflection->newInstanceArgs($resolved);
        return new $className();
    }
TODO : renommer la fonction en "make()"