Open glembus opened 5 years ago
That helps me resolve deprecation firing
Neo4jExtension::handleEntityMangers
line 140 I add $definition->setPublic(true);
But why that helps? In my case should be used ChildDefinition::class
and it used but when creating alias were used properties from Definition::class
ant service sets as public and private.
That is correct. All services should be private my default. That is symfony's best practice since 4.0.
Use dependency injection instead of using the container directly.
Oh I see. The bundle itself is using the container here: https://github.com/neo4j-contrib/neo4j-symfony/blob/master/Neo4jBundle.php
This is indeed an issue.
I'm not understand in what way service have changed his state on setAlias() but before this row service have internal properties setted
$private = false;
$public = true;
After setting alias for service it change state to
$private = true;
$public = true;
Maybe this can help. And maybe this bag not related to bundle.
I think maybe need change logic when was checks if manager is configured. Doctrine creates some parameter to resolve this. As temporary solution maybe do same thing? What you think about this?
Hello, A have received deprecation message
The "neo4j.entity_manager" service is private, checking for its existence is deprecated since Symfony 3.2 and will fail in 4.0.
. As I understood when sets alias for default manager it sets with private true but default service creates as not private. Message fires fromNeo4jBundle::boot()
. Here it is private. Maybe I doing something wrong.I have changed
$container->setAlias('neo4j.entity_manager', 'neo4j.entity_manager.default'
)` tothat help to set Alias as not private. But debug still tell that service is private..
Maybe I'm doing something wrong? I just add it and all tests fired deprecations