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;
/**
* Class BindResolver
*
* @package Laganica\Di\Resolver
*/
class BindResolver 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)) {
throw new InvalidArgumentException('Value of $definition->getValue() must be classname');
$params = $this->getConstructorParams($class);
return new $class(...$params);