本文整理匯總了PHP中Doctrine\Common\DataFixtures\Loader::getFixtures方法的典型用法代碼示例。如果您正苦於以下問題:PHP Loader::getFixtures方法的具體用法?PHP Loader::getFixtures怎麽用?PHP Loader::getFixtures使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Doctrine\Common\DataFixtures\Loader
的用法示例。
在下文中一共展示了Loader::getFixtures方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: should_find_post_by_id
/** @test */
public function should_find_post_by_id()
{
$this->executor->execute($this->loader->getFixtures());
$post = $this->repository->threadOfId(PostId::fromString('d16f9fe7-e947-460e-99f6-2d64d65f46bc'));
$this->assertInstanceOf('Cribbb\\Domain\\Model\\Discussion\\Post', $post);
$this->assertEquals('d16f9fe7-e947-460e-99f6-2d64d65f46bc', $post->id());
}
示例2: populateTestAction
/**
* Napolni podatke iz Fixtures
*/
public function populateTestAction()
{
$logger = function ($message) {
echo $message . PHP_EOL;
};
$em = $this->serviceLocator->get("\\Doctrine\\ORM\\EntityManager");
$config = new Config($this->serviceLocator->get('config'));
$loader = new Loader();
$fixtures = isset($config->test_fixtures) ? $config->test_fixtures : [];
$fixturename = $this->params('fixturename');
if (!empty($fixturename)) {
foreach ($fixtures as $dir) {
$loader->loadFromFile($dir . '/' . $fixturename . 'Fixture.php');
/**
* če je dependent naj ne izvede nobenega
*/
if (count($loader->getFixtures()) > 1) {
throw new \InvalidArgumentException('Loadanih več fixtur-jev -verjetno zaradi dependencies. Kot parameter možen le fixture brez odvisnosti.');
}
}
} else {
foreach ($fixtures as $dir) {
$loader->loadFromDirectory($dir);
}
}
$executor = new ORMExecutor($em);
$executor->setLogger($logger);
$executor->execute($loader->getFixtures(), true);
}
示例3: should_find_group_by_slug
/** @test */
public function should_find_group_by_slug()
{
$this->executor->execute($this->loader->getFixtures());
$group = $this->repository->groupOfSlug('cribbb');
$this->assertInstanceOf('Cribbb\\Domain\\Model\\Groups\\Group', $group);
$this->assertEquals('cribbb', $group->slug());
}
示例4: getFixture
/**
* @return \Doctrine\Common\DataFixtures\AbstractFixture
*/
public function getFixture($className)
{
$this->loadEntities();
foreach ($this->loader->getFixtures() as $fixture) {
if ($fixture instanceof $className) {
return $fixture;
}
}
}
示例5: should_update_existing_user
/** @test */
public function should_update_existing_user()
{
$this->executor->execute($this->loader->getFixtures());
$user = $this->repository->userOfUsername(new Username('username'));
$username = new Username('new_username');
$user->updateUsername($username);
$this->repository->update($user);
$this->em->clear();
$user = $this->repository->userOfUsername($username);
$this->assertInstanceOf('Cribbb\\Domain\\Model\\Identity\\User', $user);
$this->assertEquals($username, $user->username());
}
示例6: testLoader
public function testLoader()
{
$loader = new Loader();
$loader->addFixture($this->getMock('Doctrine\\Common\\DataFixtures\\FixtureInterface'), array(), array(), 'Mock1');
$loader->addFixture($this->getMock('Doctrine\\Common\\DataFixtures\\FixtureInterface', array(), array(), 'Mock2'));
$loader->addFixture($this->getMock('Doctrine\\Common\\DataFixtures\\SharedFixtureInterface', array(), array(), 'Mock3'));
$this->assertEquals(3, count($loader->getFixtures()));
$loader->loadFromDirectory(__DIR__ . '/TestFixtures');
$this->assertEquals(7, count($loader->getFixtures()));
$this->assertTrue($loader->isTransient('TestFixtures\\NotAFixture'));
$this->assertFalse($loader->isTransient('TestFixtures\\MyFixture1'));
}
示例7: testLoader
public function testLoader()
{
$loader = new Loader();
$loader->addFixture($this->getMock('Doctrine\Common\DataFixtures\FixtureInterface'));
$loader->addFixture($this->getMock('Doctrine\Common\DataFixtures\FixtureInterface'));
$this->assertEquals(2, count($loader->getFixtures()));
$loader->loadFromDirectory(__DIR__.'/TestFixtures');
$this->assertEquals(4, count($loader->getFixtures()));
$this->assertTrue($loader->isTransient('TestFixtures\NotAFixture'));
$this->assertFalse($loader->isTransient('TestFixtures\MyFixture1'));
}
示例8: appendFixture
/**
* Append a certain fixture
*
* @param AbstractFixture $fixture
* @param array $options (default: [])
* @return void
*/
protected static function appendFixture(AbstractFixture $fixture, array $options = [])
{
$em = static::getClient(isset($options['new_client']) ? $options['new_client'] : false)->getContainer()->get('doctrine')->getManager();
$loader = new Loader();
$loader->addFixture($fixture);
if (isset($options['purge']) && $options['purge']) {
$purger = new ORMPurger($em);
$executor = new ORMExecutor($em, $purger);
$executor->execute($loader->getFixtures(), false);
} else {
$executor = new ORMExecutor($em);
$executor->execute($loader->getFixtures(), true);
}
}
示例9: testLoadFromFile
public function testLoadFromFile()
{
$loader = new Loader();
$loader->addFixture($this->getMockBuilder(FixtureInterface::class)->setMockClassName('Mock1')->getMock());
$loader->addFixture($this->getMockBuilder(FixtureInterface::class)->setMockClassName('Mock2')->getMock());
$loader->addFixture($this->getMockBuilder(SharedFixtureInterface::class)->setMockClassName('Mock3')->getMock());
$this->assertCount(3, $loader->getFixtures());
$loader->loadFromFile(__DIR__ . '/TestFixtures/MyFixture1.php');
$this->assertCount(4, $loader->getFixtures());
$loader->loadFromFile(__DIR__ . '/TestFixtures/NotAFixture.php');
$this->assertCount(4, $loader->getFixtures());
$loader->loadFromFile(__DIR__ . '/TestFixtures/MyFixture2.php');
$this->assertCount(5, $loader->getFixtures());
$this->assertTrue($loader->isTransient('TestFixtures\\NotAFixture'));
$this->assertFalse($loader->isTransient('TestFixtures\\MyFixture1'));
}
示例10: execute
/**
* Executes the current command.
*
* This method is not abstract because you can use this class
* as a concrete class. In this case, instead of defining the
* execute() method, you set the code to execute by passing
* a Closure to the setCode() method.
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return null|int null or 0 if everything went fine, or an error code
*
* @throws LogicException When this abstract method is not implemented
*
* @see setCode()
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
/** @var QuestionHelper $helper */
$helper = $this->getHelper('question');
$question = new ConfirmationQuestion('All data in User table will be purged before inserting default data.
Are you sure you want to continue?', false);
if (!$helper->ask($input, $output, $question)) {
return;
}
try {
$loader = new Loader();
$loader->loadFromDirectory(__DIR__ . '/../fixtures');
$fixtures = $loader->getFixtures();
$purger = new ORMPurger($this->em);
$executor = new ORMExecutor($this->em, $purger);
$executor->setLogger(function ($message) use($output) {
$output->writeln(sprintf(' <comment>></comment> <info>%s</info>', $message));
});
$executor->execute($fixtures);
$output->writeln('Default users have been successfully loaded!');
return 0;
} catch (\Exception $e) {
$output->writeLn("That's bad. An Error occurred: <error>{$e->getMessage()}</error>");
return 1;
}
}
示例11: adminRefreshDatabaseAction
public function adminRefreshDatabaseAction(Request $request, Application $app)
{
$conn = $app['db'];
$em = $app['doctrine.orm.entity_manager'];
$params = $conn->getParams();
$name = isset($params['path']) ? $params['path'] : (isset($params['dbname']) ? $params['dbname'] : false);
try {
$conn->getSchemaManager()->dropDatabase($name);
$conn->getSchemaManager()->createDatabase($name);
$conn->close();
} catch (\Exception $e) {
return 1;
}
$classes = [];
foreach ($app['authbucket_oauth2.model'] as $class) {
$classes[] = $em->getClassMetadata($class);
}
PersistentObject::setObjectManager($em);
$tool = new SchemaTool($em);
$tool->dropSchema($classes);
$tool->createSchema($classes);
$purger = new ORMPurger();
$executor = new ORMExecutor($em, $purger);
$loader = new Loader();
$loader->loadFromDirectory(__DIR__ . '/../DataFixtures/ORM');
$executor->execute($loader->getFixtures());
return $app->redirect($app['url_generator']->generate('index'));
}
示例12: execute
protected function execute(InputInterface $input, OutputInterface $output)
{
$em = $this->getEntityManager();
if ($input->isInteractive() && !$input->getOption('append')) {
if (!$this->askConfirmation($input, $output, '<question>Careful, database will be purged. Do you want to continue y/N ?</question>', false)) {
return;
}
}
$app = $this->getApp();
$path = $app->getApplicationBase($app->getAppNamespace()) . '/DataFixture';
$loader = new DataFixturesLoader();
$loader->loadFromDirectory($path);
$fixtures = $loader->getFixtures();
if (!$fixtures) {
throw new InvalidArgumentException(sprintf('Could not find any fixtures to load in: %s', "\n\n- {$path}"));
}
foreach ($fixtures as $fixture) {
if ($fixture instanceof ContainerAwareInterface) {
$fixture->setContainer($this->getContainer());
}
}
$purger = new ORMPurger($em);
if ($input->getOption('truncate-only')) {
$purger->setPurgeMode(ORMPurger::PURGE_MODE_TRUNCATE);
$purger->purge();
exit(0);
}
$purger->setPurgeMode($input->getOption('truncate') ? ORMPurger::PURGE_MODE_TRUNCATE : ORMPurger::PURGE_MODE_DELETE);
$executor = new ORMExecutor($em, $purger);
$executor->setLogger(function ($message) use($output) {
$output->writeln(sprintf(' <comment>></comment> <info>%s</info>', $message));
});
$executor->execute($fixtures, $input->getOption('append'));
}
示例13: setUp
/**
* Initializes the database (once).
*
* @throws \Doctrine\DBAL\DBALException
* @throws \Doctrine\ORM\ORMException
* @throws \Doctrine\ORM\Tools\ToolsException
*/
protected function setUp()
{
if (null === static::$_conn) {
$dbPath = __DIR__ . '/../../../db.sqlite';
if (file_exists($dbPath)) {
unlink($dbPath);
}
$params = ['driver' => 'pdo_sqlite', 'path' => $dbPath];
static::$_conn = DriverManager::getConnection($params);
static::$_conn->getConfiguration()->setSQLLogger(null);
}
if (null === static::$_em) {
$paths = [__DIR__ . '/../../../../../src/Ekyna/Commerce/Bridge/Doctrine/ORM/Resources/mapping'];
$isDevMode = true;
$config = Setup::createXMLMetadataConfiguration($paths, $isDevMode);
$em = EntityManager::create(static::$_conn, $config);
$classes = [];
foreach (static::$_classes as $class) {
array_push($classes, $em->getClassMetadata($class));
}
$schemaTool = new SchemaTool($em);
$schemaTool->dropSchema($classes);
$schemaTool->createSchema($classes);
// Load fixtures
$loader = new Loader();
$loader->loadFromDirectory(__DIR__ . '/../../../../../src/Ekyna/Commerce/Bridge/Doctrine/Fixtures');
$purger = new ORMPurger();
$executor = new ORMExecutor($em, $purger);
$executor->execute($loader->getFixtures());
static::$_em = $em;
}
}
示例14: execute
/**
* {@inheritDoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$app = $this->getApplication()->getApp();
$em = $app['em'];
$dirOrFile = $input->getOption('fixtures');
if ($dirOrFile) {
$paths = is_array($dirOrFile) ? $dirOrFile : array($dirOrFile);
} else {
$paths = isset($app['em.fixtures']) ? $app['em.fixtures'] : array();
}
$loader = new Loader();
foreach ($paths as $path) {
if (is_dir($path)) {
$loader->loadFromDirectory($path);
}
}
$fixtures = $loader->getFixtures();
if (!$fixtures) {
throw new InvalidArgumentException(sprintf('Could not find any fixtures to load in: %s', "\n\n- " . implode("\n- ", $paths)));
}
$purger = new ORMPurger($em);
$purger->setPurgeMode($input->getOption('purge-with-truncate') ? ORMPurger::PURGE_MODE_TRUNCATE : ORMPurger::PURGE_MODE_DELETE);
$executor = new ORMExecutor($em, $purger);
$executor->setLogger(function ($message) use($output) {
$output->writeln(sprintf(' <comment>></comment> <info>%s</info>', $message));
});
$executor->execute($fixtures, $input->getOption('append'));
}
示例15: testLoadFromFile
public function testLoadFromFile()
{
$loader = new Loader();
$loader->addFixture($this->getMock('Doctrine\\Common\\DataFixtures\\FixtureInterface'), array(), array(), 'Mock1');
$loader->addFixture($this->getMock('Doctrine\\Common\\DataFixtures\\FixtureInterface', array(), array(), 'Mock2'));
$loader->addFixture($this->getMock('Doctrine\\Common\\DataFixtures\\SharedFixtureInterface', array(), array(), 'Mock3'));
$this->assertCount(3, $loader->getFixtures());
$loader->loadFromFile(__DIR__ . '/TestFixtures/MyFixture1.php');
$this->assertCount(4, $loader->getFixtures());
$loader->loadFromFile(__DIR__ . '/TestFixtures/NotAFixture.php');
$this->assertCount(4, $loader->getFixtures());
$loader->loadFromFile(__DIR__ . '/TestFixtures/MyFixture2.php');
$this->assertCount(5, $loader->getFixtures());
$this->assertTrue($loader->isTransient('TestFixtures\\NotAFixture'));
$this->assertFalse($loader->isTransient('TestFixtures\\MyFixture1'));
}