UPDATE:Symfony2 Zugang Lehre Entity-Manager in benutzerdefinierter Klasse
Im Fall, dass Sie mit Entity-Manager in einer benutzerdefinierten Klasse arbeiten, können Sie diesen Weg gehen könnten:
diesen Code in Ihrem Bündel setzen:
use Symfony\Component\DependencyInjection\Container;
use Symfony\Component\HttpFoundation\Request;
require_once DIR . '/../../../app/bootstrap.php.cache';
require_once DIR . '/../../../app/AppKernel.php';
class ApplicationBoot {
private static $kernel;
public static function getContainer() {
if(self::$kernel instanceof \AppKernel) {
if(!self::$kernel->getContainer() instanceof Container){
self::$kernel->boot();
}
return self::$kernel->getContainer();
}
$environment = 'prod';
if (!array_key_exists('REMOTE_ADDR', $_SERVER) || in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1', 'localhost'))) {
$environment = 'dev';
}
self::$kernel = new \AppKernel($environment, false);
self::$kernel->boot();
return self::$kernel->getContainer();
}
public static function shutDown() {
self::$kernel->shutdown();
}}
So, jetzt können Sie EntityManager zugreifen:
$container = ApplicationBoot::getContainer();
$entityManager = $container->get('doctrine')->getEntityManager();
Wenn Sie sagen "Arbeit mit" versuchen, es aus dem Servicebehälter ziehen oder versuchen, die Klasse neu? – Cerad
Cerad, neue Klasse – VitalyP
Das wird nicht funktionieren. Ich habe meine Antwort aktualisiert. – Cerad