pandawan-technology / neo4j-fixtures-bundle
Allow to load Neo4j data fixtures into your Symfony application
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 1
Open Issues: 1
Type:symfony-bundle
Requires
- pandawan-technology/neo4j-bundle: ^1.0@dev
- pandawan-technology/neo4j-data-fixtures: ^1.0@dev
Requires (Dev)
- phpunit/phpunit: ^5.3
This package is auto-updated.
Last update: 2024-12-20 07:56:09 UTC
README
Symfony bundle to allow fixtures loading into your Neo4j graph database
Installation
Add the bundle as a requirement:
composer require pandawan-technology/neo4j-fixtures-bundle
Enable it in your app/AppKernel.php
file:
<?php use Symfony\Component\HttpKernel\Kernel; use Symfony\Component\Config\Loader\LoaderInterface; class AppKernel extends Kernel { public function registerBundles() { $bundles = [ // ... my bundles new PandawanTechnology\Neo4jFixturesBundle\PandawanTechnologyNeo4jFixturesBundle(), ]; return $bundles; } }
Usage
Basic
By default, the bundle will search for the DataFixtures/Neo4j
directories within your registered bundles. These files must implements the PandawanTechnology\Neo4jDataFixtures\Neo4jFixtureInterface
but extending PandawanTechnology\Neo4jDataFixtures\AbstractNeo4jFixture
class is recommended:
<?php // src/AppBundle/DataFixtures/Neo4j/LoadUserData.php namespace AppBundle\DataFixtures\Neo4j; use GraphAware\Common\Connection\ConnectionInterface; use PandawanTechnology\Neo4jDataFixtures\AbstractNeo4jFixture; class LoadUserData extends AbstractNeo4jFixture { /** * @inheritDoc */ public function load(ConnectionInterface $connection) { // ... statements here } }
See Pandawan Technology Neo4j Data Fixtures' library documentation for more informations.
Advanced
If you need to use third party services from your container, you can implements the ContainerAwareInterface
:
<?php // src/AppBundle/DataFixtures/Neo4j/LoadUserData.php namespace AppBundle\DataFixtures\Neo4j; use GraphAware\Common\Connection\ConnectionInterface; use PandawanTechnology\Neo4jDataFixtures\AbstractNeo4jFixture; use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Symfony\Component\DependencyInjection\ContainerInterface; class LoadUserData extends AbstractNeo4jFixture implements ContainerAwareInterface { private $container; /** * @inheritDoc */ public function setContainer(ContainerInterface $container = null) { $this->container = $container; } /** * @inheritDoc */ public function load(ConnectionInterface $connection) { // ... statements here } }
For more informations, you can have a look into the Pandawan Technology Neo4j DataFixtures library README file.