我从上周开始尝试使FOS auth Server捆绑在一起Symfony4。如果我想使用我创建此错误消息的创建客户端命令。
" FOS_OAUTH_SERVER.CLIENT_MANAGER.DEFAULT"服务或Alias已被删除或汇总时已删除或嵌入。您应该将其公开,或者停止直接使用容器,而是停止使用依赖性注入。
是否有人有相同的问题?
我有同样的问题。试图注入这样的服务:
<?php
namespace AppCommand;
use SymfonyBundleFrameworkBundleCommandContainerAwareCommand;
use SymfonyComponentConsoleInputInputArgument;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleInputInputOption;
use SymfonyComponentConsoleOutputOutputInterface;
use FOSOAuthServerBundleEntityClientManager;
class CreateClientCommand extends ContainerAwareCommand
{
protected static $defaultName = 'create:client';
private $client_manager;
public function __construct(ClientManager $client_manager)
{
parent::__construct();
$this->client_manager = $client_manager;
}
但我有错误:
Cannot autowire service "AppCommandCreateClientCommand": argument "$client_manager" of method "__construct()" ref
erences class "FOSOAuthServerBundleEntityClientManager" but no such service exists. It cannot be auto-registered
because it is from a different root namespace.
所以我在services.yaml中注册了我的命令:
AppCommandCreateClientCommand:
arguments:
$client_manager: '@fos_oauth_server.client_manager.default'
现在起作用:(