Files
Chamilo/vendor/doctrine/data-fixtures/lib/Doctrine/Common/DataFixtures/AbstractFixture.php
2025-04-10 12:24:57 +02:00

98 lines
2.3 KiB
PHP

<?php
declare(strict_types=1);
namespace Doctrine\Common\DataFixtures;
use BadMethodCallException;
/**
* Abstract Fixture class helps to manage references
* between fixture classes in order to set relations
* among other fixtures
*/
abstract class AbstractFixture implements SharedFixtureInterface
{
/**
* Fixture reference repository
*
* @var ReferenceRepository
*/
protected $referenceRepository;
/**
* {@inheritdoc}
*/
public function setReferenceRepository(ReferenceRepository $referenceRepository)
{
$this->referenceRepository = $referenceRepository;
}
/**
* Set the reference entry identified by $name
* and referenced to managed $object. If $name
* already is set, it overrides it
*
* @see Doctrine\Common\DataFixtures\ReferenceRepository::setReference
*
* @param string $name
* @param object $object - managed object
*
* @return void
*/
public function setReference($name, $object)
{
$this->referenceRepository->setReference($name, $object);
}
/**
* Set the reference entry identified by $name
* and referenced to managed $object. If $name
* already is set, it throws a
* BadMethodCallException exception
*
* @see Doctrine\Common\DataFixtures\ReferenceRepository::addReference
*
* @param string $name
* @param object $object - managed object
*
* @return void
*
* @throws BadMethodCallException - if repository already has a reference by $name.
*/
public function addReference($name, $object)
{
$this->referenceRepository->addReference($name, $object);
}
/**
* Loads an object using stored reference
* named by $name
*
* @see Doctrine\Common\DataFixtures\ReferenceRepository::getReference
*
* @param string $name
*
* @return object
*/
public function getReference($name)
{
return $this->referenceRepository->getReference($name);
}
/**
* Check if an object is stored using reference
* named by $name
*
* @see Doctrine\Common\DataFixtures\ReferenceRepository::hasReference
*
* @param string $name
*
* @return bool
*/
public function hasReference($name)
{
return $this->referenceRepository->hasReference($name);
}
}