neo4j / neo4j-bundle
Symfony integration for Neo4j
Installs: 68 629
Dependents: 0
Suggesters: 0
Security: 0
Stars: 78
Watchers: 15
Forks: 41
Open Issues: 11
Type:symfony-bundle
Requires
- php: >=8.1
- ext-json: *
- laudis/neo4j-php-client: ^3.1
- symfony/config: ^5.4 || ^6.0 || ^7.0
- symfony/dependency-injection: ^5.4 || ^6.0 || ^7.0
- twig/twig: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.30
- kubawerlos/php-cs-fixer-custom-fixers: ^3.0
- matthiasnoback/symfony-dependency-injection-test: ^4.3 || ^5.0
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.18
- psalm/plugin-symfony: ^5.0
- symfony/console: ^5.4 || ^6.0 || ^7.0
- symfony/framework-bundle: ^5.4 || ^6.0 || ^7.0
- symfony/http-kernel: ^5.4 || ^6.0 || ^7.0
- symfony/routing: ^5.4 || ^6.0 || ^7.0
- symfony/stopwatch: ^6.4
- symfony/test-pack: ^1.1
- symfony/twig-bundle: ^5.4 || ^6.0 || ^7.0
- symfony/web-profiler-bundle: ^5.4 || ^6.0 || ^7.0
- symfony/yaml: ^5.4 || ^6.0 || ^7.0
- vimeo/psalm: ^5.15.0
This package is auto-updated.
Last update: 2024-11-06 12:39:00 UTC
README
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require neo4j/neo4j-bundle
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php return [ // ... \Neo4j\Neo4jBundle\Neo4jBundle::class => ['all' => true], ];
Documentation
The bundle is a convenient way of registering services. We register Drivers
and one
Clients
. You will always have alias for the default services:
- neo4j.driver
- neo4j.client
Minimal configuration
neo4j: drivers: default: ~
With the minimal configuration we have services named:
- neo4j.driver.default
- neo4j.client
Full configuration example
This example configures the client to contain two instances.
neo4j: profiling: true default_driver: high-availability drivers: - alias: high-availability dsn: 'neo4j://core1.mydomain.com:7687' authentication: type: 'oidc' token: '%neo4j.openconnect-id-token%' priority: 1 # Overriding the alias makes it so that there is a backup server to use in case # the routing table cannot be fetched through the driver with a higher priority # but the same alias. # Once the table is fetched it will use that information to auto-route as usual. - alias: high-availability dsn: 'neo4j://core2.mydomain.com:7687' priority: 0 authentication: type: 'oidc' token: '%neo4j.openconnect-id-token%' - alias: backup-instance dsn: 'bolt://localhost:7687' authentication: type: basic username: '%neo4j.backup-user%' password: '%neo4j.backup-pass%'
Testing
$ composer test
Example application
See an example application at https://github.com/neo4j-examples/movies-symfony-php-bolt (legacy project)
License
The MIT License (MIT). Please see License File for more information.