Ding\Container\Impl\ContainerImpl::_instantiateByConstructor PHP Method

_instantiateByConstructor() private method

Instantiates a bean using the constructor.
private _instantiateByConstructor ( Ding\Bean\BeanDefinition $definition ) : object
$definition Ding\Bean\BeanDefinition
return object
    private function _instantiateByConstructor(BeanDefinition $definition)
    {
        $class = $definition->getClass();
        if ($definition->hasProxyClass()) {
            $class = $definition->getProxyClassName();
        }
        $rClass = $this->_reflectionFactory->getClass($class);
        $factoryMethod = $rClass->getConstructor();
        if ($factoryMethod !== null) {
            $args = $this->_sortArgsWithNames($definition, $factoryMethod);
            if (empty($args)) {
                return $rClass->newInstanceArgs();
            } else {
                return $rClass->newInstanceArgs($args);
            }
        } else {
            return $rClass->newInstanceArgs();
        }
    }