plumtreesystems / neo4j-bundle
Symfony integration for Neo4j
Installs: 66
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 41
Type:symfony-bundle
Requires
- php: ^7.0
- graphaware/neo4j-bolt: ^1.6
- plumtreesystems/neo4j-php-client: 4.8.6
- symfony/dependency-injection: ^2.8.3 || ^3.0.3 || ^4.0
- symfony/framework-bundle: ^2.8.32 || ^3.0 || ^4.0
- symfony/http-kernel: ^2.8 || ^3.0 || ^4.0
- twig/twig: ^1.18 || ^2.0
Requires (Dev)
- matthiasnoback/symfony-dependency-injection-test: ^2.3
- symfony/phpunit-bridge: ^3.3 || ^4.0
Suggests
- graphaware/neo4j-php-ogm: To have EntityManager support
This package is not auto-updated.
Last update: 2024-12-19 14:45:42 UTC
README
Install
Via Composer
$ composer require neo4j/neo4j-bundle
If you want to use the an EntityManager
you need to install a GraphAware OGM
$ composer require graphaware/neo4j-php-ogm:@rc
Enable the bundle in your kernel:
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Neo4j\Neo4jBundle\Neo4jBundle(), ); }
Documentation
The bundle is a convenient way of registering services. We register Connections
,
Clients
and EntityManagers
. You will always have alias for the default services:
- neo4j.connection
- neo4j.client
- neo4j.entity_manager.*
Minimal configuration
neo4j: connections: default: ~
With the minimal configuration we have services named:
- neo4j.connection.default
- neo4j.client.default
- neo4j.entity_manager.default*
Full configuration
neo4j: profiling: enabled: true connections: default: scheme: bolt # default (must be either "http" or "bolt") host: localhost # default port: 7474 # optional, will be set to the proper driver's default port if not provided username: neo4j # default password: neo4j # default second_connection: username: foo password: bar third_connection: dsn: 'bolt://foo:bar@localhost:7687' clients: default: connections: [default, second_connection, third_connection] other_client: connections: [second_connection] foobar: ~ # foobar client will have the "default" connection entity_managers: default: client: other_client # defaults to "default" cache_dir: "%kernel.cache_dir%/neo4j" # defaults to system cache
With the configuration above we would have services named:
- neo4j.connection.default
- neo4j.connection.second_connection
- neo4j.client.default
- neo4j.client.other_client
- neo4j.client.other_foobar
- neo4j.entity_manager.default*
* Note: EntityManagers will only be available if graphaware/neo4j-php-ogm
is installed.
Testing
$ composer test
Example application
See an example application at https://github.com/neo4j-examples/movies-symfony-php-bolt
License
The MIT License (MIT). Please see License File for more information.