Nelmio\Alice\Generator\Resolver\ResolvingContext::checkForCircularReference PHP Метод

checkForCircularReference() публичный Метод

public checkForCircularReference ( string $key )
$key string
    public function checkForCircularReference(string $key)
    {
        if (true === $this->has($key) && 1 < $this->resolving[$key]) {
            throw CircularReferenceExceptionFactory::createForParameter($key, $this->resolving);
        }
    }

Usage Example

Пример #1
0
 /**
  * Resolves a given fixture. The resolution of a fixture may result in the resolution of several fixtures.
  *
  * @param TemplatingFixture|FixtureInterface $fixture Fixture to resolve
  * @param FixtureBag                         $unresolvedFixtures
  * @param TemplatingFixtureBag               $resolvedFixtures
  * @param ResolvingContext                   $context
  *
  * @throws FixtureNotFoundException
  *
  * @return TemplatingFixtureBag
  */
 public function resolve(TemplatingFixture $fixture, FixtureBag $unresolvedFixtures, TemplatingFixtureBag $resolvedFixtures, ResolvingContext $context) : TemplatingFixtureBag
 {
     $context->checkForCircularReference($fixture->getId());
     if (false === $fixture->extendsFixtures()) {
         return $resolvedFixtures->with($fixture);
     }
     /**
      * @var FixtureBag           $extendedFixtures
      * @var TemplatingFixtureBag $resolvedFixtures
      */
     list($extendedFixtures, $resolvedFixtures) = $this->resolveExtendedFixtures($fixture, $fixture->getExtendedFixturesReferences(), $unresolvedFixtures, $resolvedFixtures, $context);
     $fixture = $this->getExtendedFixture($fixture, $extendedFixtures);
     return $resolvedFixtures->with($fixture);
 }
All Usage Examples Of Nelmio\Alice\Generator\Resolver\ResolvingContext::checkForCircularReference