sgular / neo4j-bundle
Neo4j 的 Symfony 集成
0.4.6
2021-08-02 10:57 UTC
Requires
- php: ^7.0
- sngular/neo4j-php-client: ^5.0
- symfony/dependency-injection: ^2.8.3 || ^3.0.3 || ^4.0 || ^5.0
- symfony/framework-bundle: ^2.8.32 || ^3.0 || ^4.0 || ^5.0
- symfony/http-kernel: ^2.8 || ^3.0 || ^4.0 || ^5.0
- twig/twig: ^1.18 || ^2.0
Requires (Dev)
- matthiasnoback/symfony-dependency-injection-test: ^2.3
- symfony/phpunit-bridge: ^3.3 || ^4.0 || ^5.0
Suggests
- graphaware/neo4j-php-ogm: To have EntityManager support
README
安装
通过 Composer
$ composer require neo4j/neo4j-bundle
如果您想使用 EntityManager
,您需要安装一个 GraphAware OGM
$ composer require graphaware/neo4j-php-ogm:@rc
在您的内核中启用此包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Neo4j\Neo4jBundle\Neo4jBundle(), ); }
文档
此包是一种方便的服务注册方式。我们注册了 Connections
、Clients
和 EntityManagers
。您总是可以找到默认服务的别名
- neo4j.connection
- neo4j.client
- neo4j.entity_manager.*
最小配置
neo4j: connections: default: ~
在最小配置中,我们拥有以下命名服务
- neo4j.connection.default
- neo4j.client.default
- neo4j.entity_manager.default*
完整配置
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
在上述配置中,我们将拥有以下命名服务
- neo4j.connection.default
- neo4j.connection.second_connection
- neo4j.client.default
- neo4j.client.other_client
- neo4j.client.other_foobar
- neo4j.entity_manager.default*
* 注意:只有当安装了 graphaware/neo4j-php-ogm
时,EntityManagers 才可用。
测试
$ composer test
示例应用
请参阅示例应用:[https://github.com/neo4j-examples/movies-symfony-php-bolt](https://github.com/neo4j-examples/movies-symfony-php-bolt)
许可
MIT 许可证 (MIT)。请参阅许可文件以获取更多信息。