我尝试为实现此接口的服务创建 ID 为“Psr\Log\LoggerInterface”的别名。
但别名似乎不起作用。
这是我的配置services.yaml
services:
A\Name\Space\LoggerService:
arguments:
$arg1: ''
$arg2: ''
Psr\Log\LoggerInterface:
alias: A\Name\Space\LoggerService
这就是我尝试在控制器中获取服务的方式:
class SomeController extends AbstractController
{
public function index(LoggerInterface $logger): Response
{
$logger->info('index');
return $this->render('index.html.twig');
}
}
我希望得到有类的服务,A\Name\Space\LoggerService
但我得到了类Symfony\Component\HttpKernel\Log\Logger
。
如果我直接获得服务,它运行良好:
class SomeController extends AbstractController
{
public function index(\A\Name\Space\LoggerService $logger): Response
{
$logger->info('index');
return $this->render('index.html.twig');
}
}
最后,如果我将别名更改为:
logger:
alias: A\Name\Space\LoggerService
它运作良好。但我不想覆盖 Symfony 记录器服务, 只覆盖别名。