我刚刚安装了Sylius Settings bundle。
在作曲家完成其工作后,在设置文档(上面的链接)之后,启用Sylius设置包会导致以下错误:
The service definition "doctrine.orm.default_metadata_driver" does not exist.
我为整个供应商文件夹搜索了这个关键字(整个服务名称),但它只在一些Doctrine测试文件中找到它,而不是其他地方。谁知道它是什么?也许这只是SF2中的“遗留错误”?
或许不是。我暂时找到了这门课程:
学说\捆绑\ DoctrineBundle \ DependencyInjection \编译\ DoctrineOrmMappingsPass
特别是这部分(构造函数):
public function __construct($driver, array $namespaces, array $managerParameters, $enabledParameter = false, array $aliasMap = array())
{
$managerParameters[] = 'doctrine.default_entity_manager';
parent::__construct(
$driver,
$namespaces,
$managerParameters,
'doctrine.orm.%s_metadata_driver',
$enabledParameter,
'doctrine.orm.%s_configuration',
'addEntityNamespace',
$aliasMap
);
}
(注:“'doctrine.orm。%s_metadata_driver',”作为部分硬编码的参数)
我想知道它是否与我不使用ORM,但PHPCR-ODM作为默认连接类型(ORM是非默认的附加连接层)这一事实有关。
config.yml部分引用包:
sylius_settings:
driver: doctrine/orm
doctrine_cache:
providers:
my_apc_metadata_cache:
type: apc
namespace: metadata_cache_ns
my_apc_query_cache:
namespace: query_cache_ns
apc: ~
sylius_settings:
type: file_system
没什么特别的。