for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Laganica\Di\Resolver;
use InvalidArgumentException;
use Laganica\Di\Definition\DefinitionInterface;
use Laganica\Di\Exception\NotFoundException;
/**
* Class AutowireResolver
*
* @package Laganica\Di\Resolver
*/
class ClassResolver extends ReflectionResolver
{
* @inheritDoc
public function resolve(DefinitionInterface $definition)
$class = $definition->getValue();
if (!is_string($class)) {
throw new InvalidArgumentException('Value of $definition->getValue() must be string');
}
if (!class_exists($class)) {
NotFoundException::create($class);
$params = $this->getConstructorParams($class);
return new $class(...$params);