for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Ray\Di;
use Koriym\NullObject\NullObject;
use ReflectionClass;
use function assert;
use function is_dir;
/**
* @codeCoverageIgnore
*/
final class NullObjectDependency implements DependencyInterface
{
* @param class-string $interface
class-string
0
public function __construct(private string $interface)
}
* {@inheritdoc}
public function __toString(): string
return '';
public function inject(Container $container): null
return null;
public function register(array &$container, Bind $bind): void
$container[(string) $bind] = $bind->getBound();
public function setScope($scope): void
public function toNull(string $scriptDir): Dependency
assert(is_dir($scriptDir));
$nullObject = new NullObject();
$class = $nullObject->save($this->interface, $scriptDir);
return new Dependency(new NewInstance(new ReflectionClass($class), new SetterMethods([])));