for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Gacela\Framework\ClassResolver\Factory;
use Gacela\Framework\AbstractFactory;
use Gacela\Framework\ClassResolver\AbstractClassResolver;
final class FactoryResolver extends AbstractClassResolver
{
public const TYPE = 'Factory';
/**
* @param object|class-string $caller
object|class-string
2
*
* @throws FactoryNotFoundException
*/
public function resolve($caller): AbstractFactory
/** @var ?AbstractFactory $resolved */
$resolved = $this->doResolve($caller);
if ($resolved === null) {
throw new FactoryNotFoundException($caller);
}
return $resolved;
protected function getResolvableType(): string
return self::TYPE;