Navigation Menu

Skip to content

codeedu/zendexpr-doctrine-fixture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

About

This library provides integration with Zend Expressive and Doctrine Data Fixture. Also support PSR-11.

Get started

Instalation
composer require codeedu/zendexpr-doctrine-fixture:0.1.1
Registering Fixtures

To register fixtures add the fixtures in your configuration.

[
      'doctrine' => [
            'fixture' => [
                  'MyFixtures' => __DIR__ . '/../src/Fixture',
            ]
      ]
];

Register factory to create the command:

[
      'factories' => [
         'doctrine:fixtures_cmd:load'   => \CodeEdu\FixtureFactory::class
      ]
];

We suggest to configure Doctrine ORM and commands with Zend Expressive using this gist. This configuration uses DoctrineModule. DoctrineModule provides easily configuration to integration Doctrine ORM in Zend Framework 2 Applications, so the approach is enjoy it.

Now in doctrine.config.php, so add doctrine:fixtures_cmd:load to:

$command = [
   //.....,
   'doctrine:fixtures_cmd:load'
];

Usage

Command Line

Access the Doctrine command line as following

Import

./vendor/bin/doctrine-module data-fixture:import

Dependency Injection with Fixtures

This library provides inject the service container in fixtures. So add interface FixtureContainerInterface, see below:

class MyFixture implements FixtureInterface, FixtureContainerInterface
{
    private $container;

    public function load(ObjectManager $manager){
        $myService = $this->container->get(MyService::class);
    }

    public function getContainer()
    {
        return $this->container;
    }

    public function setContainer(ContainerInterface $container)
    {
        $this->container = $container;
    }
}

About

Zend Expressive Library that provides Doctrine Data-Fixture functionality

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages