silverstripe-framework/src/Core/Injector/InjectionCreator.php
2020-04-20 18:58:09 +01:00

29 lines
583 B
PHP

<?php
namespace SilverStripe\Core\Injector;
use ReflectionClass;
use ReflectionException;
/**
* A class for creating new objects by the injector.
*/
class InjectionCreator implements Factory
{
public function create($class, array $params = [])
{
try {
$reflector = new ReflectionClass($class);
} catch (ReflectionException $e) {
throw new InjectorNotFoundException($e);
}
if (count($params)) {
return $reflector->newInstanceArgs($params);
}
return $reflector->newInstance();
}
}