Skip to content

Commit

Permalink
Solves #298 (#299)
Browse files Browse the repository at this point in the history
* Solves #298

Solves:

User Deprecated: The "doctrine.orm.default_entity_manager" service is private, getting it from the container is deprecated since Symfony 3.2 and will fail in 4.0. You should either make the service public, or stop using the container directly and use dependency injection instead.

This warning is caused by the JMSDIExtraBundle proxy replacing the Doctrine Service.
JMSDIExtraBundle, does not properly preserve the service visibility when overwriting the service.

* Compatibility with older SF versions

Method isPrivate don't exist in Symfony\Component\DependencyInjection\DefinitionDecorator in versions prior to 2.3

* Compatibility with older SF versions 

Method isPrivate don't exist in Symfony\Component\DependencyInjection\DefinitionDecorator in versions prior to 2.3

* Compatibility with older SF versions

Method isPrivate don't exist in Symfony\Component\DependencyInjection\DefinitionDecorator in versions prior to 2.3
  • Loading branch information
pdias authored and GuilhemN committed Jan 12, 2018
1 parent 71fac34 commit fa82a4e
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion DependencyInjection/Compiler/IntegrationPass.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,16 @@ private function integrateWithDoctrine($container)
continue;
}

$public = $definition->isPublic();
$definition->setPublic(false);

$container->setDefinition($id.'.delegate', $definition);

$container->register($id, $container->getParameter('jms_di_extra.doctrine_integration.entity_manager.class'))
->setFile($container->getParameter('jms_di_extra.doctrine_integration.entity_manager.file'))
->addArgument(new Reference($id.'.delegate'))
->addArgument(new Reference('service_container'));
->addArgument(new Reference('service_container'))
->setPublic($public);
}
}
}

0 comments on commit fa82a4e

Please sign in to comment.