for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types=1);
namespace League\Container\Inflector;
use Generator;
use League\Container\ContainerAwareTrait;
class InflectorAggregate implements InflectorAggregateInterface
{
use ContainerAwareTrait;
/**
* @var \League\Container\Inflector[]
*/
protected $inflectors = [];
* {@inheritdoc}
public function add(string $type, callable $callback = null): Inflector
$inflector = new Inflector($type, $callback);
$this->inflectors[] = $inflector;
return $inflector;
}
public function getIterator(): Generator
$count = count($this->inflectors);
for ($i = 0; $i < $count; $i++) {
yield $this->inflectors[$i];
public function inflect($object)
foreach ($this->getIterator() as $inflector) {
if (! is_subclass_of($object, $inflector->getType())) {
is_subclass_of
$inflector->getType()
ReflectionClass::implementsInterface
continue;
$inflector->setContainer($this->getContainer());
$inflector->inflect($object);
return $object;