public function createAggregateJail($instanceAggregate, $class) { if (!TypeUtil::isTraversable($instanceAggregate)) { throw InvalidArgumentException::invalidType($instanceAggregate, ['array', 'Traversable']); } if (!is_string($class)) { throw InvalidArgumentException::invalidType($class, 'string'); } $proxyAggregate = []; foreach ($instanceAggregate as $instance) { $proxyAggregate[] = $this->createInstanceJail($instance, $class); } return $proxyAggregate; }
public static function hierarchyMismatch(ReflectionClass $class, ReflectionClass $superClass) { return new static(sprintf('Cannot create proxy for "%1$s" as "%2$s" is not part of the inheritance hierarchy of "%1$s". ' . 'Valid supertypes are: "%3$s"', $class->getName(), $superClass->getName(), implode('", "', TypeUtil::getSuperTypeNames($class)))); }