Symfony 3.3,Doctrine 2一个文件应用程序(微内核)我想知道我是否可以在AppKernel类中使用实体menager .
的index.php
...
require __DIR__.'/vendor/autoload.php';
class AppKernel extends Kernel
{
use MicroKernelTrait;
public function registerBundles()
{
return [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle()
];
}
protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader)
{
$c->loadFromExtension(
'framework', [
...
],
'doctrine', [
...
]
]
);
}
protected function configureRoutes(RouteCollectionBuilder $routes)
{
$routes->add('/test', 'kernel:testAction', 'test');
}
public function testAction()
{
$em = $this->container->get('doctrine');
$response = new Response(
'<h1>TEST</h2>',
Response::HTTP_OK,
['content-type' => 'text/html']
);
return $response;
}
}
$kernel = new AppKernel('dev', true);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
我想在testAction中使用实体menager但我不知道如何将register doctrine作为服务 . 我应该使用configureContainer方法?有人可以帮忙吗?
1 回答
我认为问题出在
configureContainer()
方法中 . 对于学说,我们需要再次使用loadFromExtension()
方法 . 之后我们可以在容器中看到学说 .