Instantiator\Instantiator::instantiate PHP Method

instantiate() public method

{@inheritDoc}
public instantiate ( $className )
    public function instantiate($className)
    {
        if ($cloneable = self::$cachedCloneables->{$className}) {
            return clone $cloneable;
        }
        $factory = self::$cachedInstantiators->{$className};
        /* @var $factory Closure */
        return $factory();
    }

Usage Example

    /**
     * @param string $className
     *
     * @dataProvider getInstantiableClasses
     */
    public function testInstantiatesSeparateInstances($className)
    {
        $instance1 = $this->instantiator->instantiate($className);
        $instance2 = $this->instantiator->instantiate($className);

        $this->assertEquals($instance1, $instance2);
        $this->assertNotSame($instance1, $instance2);
    }
All Usage Examples Of Instantiator\Instantiator::instantiate