Symfony 4.4metadata_cache_driver 配置键弃用通知

nin*_*sky 5 symfony doctrine-orm symfony-4.4

自从我将 Symfony 从 4.4.15 升级到 4.4.16 以来,我收到了以下弃用通知:

\n
\n

“metadata_cache_driver”配置键已弃用。当 %kernel.debug% 为 false 时,PHP 数组\n缓存现在会自动注册。

\n
\n

这很奇怪,因为官方文档除了以下文本之外没有提及任何有关此弃用的内容:

\n
\n

自版本 4.4 起已弃用:自 Symfony 4.4 起,所有 Doctrine 缓存类型均已弃用,并且在 Symfony 5.0 及更高版本中\xe2\x80\x99 不再可用。将它们替换为 type: service 或 type: pool 并使用\n使用 Symfony Cache 定义的任何缓存池/服务。

\n
\n

但我正在使用缓存类型池或服务。我的配置如下:

\n
doctrine:  \n    orm:  \n        metadata_cache_driver:\n            type: pool\n            pool: doctrine.system_cache_pool  \n\nframework:\n    cache:\n        default_memcached_provider: \'memcached://localhost:11211\'\n        pools:\n            doctrine.system_cache_pool:\n                adapter: cache.adapter.memcached\n                public: false\n                default_lifetime: 86400\n
Run Code Online (Sandbox Code Playgroud)\n

我什至尝试将缓存配置为这样的服务,这给了我相同的弃用通知:

\n
doctrine:\n    orm:    \n        metadata_cache_driver:\n            type: service\n            id: doctrine.system_cache_provider\n\nservices:\n    doctrine.system_cache_provider:\n        class: Symfony\\Component\\Cache\\DoctrineProvider\n        public: false\n        arguments:\n            - \'@doctrine.system_cache_pool\'\n\nframework:\n    cache:\n        default_memcached_provider: \'memcached://localhost:11211\'\n        pools:\n            doctrine.system_cache_pool:\n                adapter: cache.adapter.memcached\n                public: false\n                default_lifetime: 86400\n
Run Code Online (Sandbox Code Playgroud)\n

有什么想法如何摆脱弃用通知吗?

\n

dma*_*her 6

实际上弃用已恢复:https://github.com/doctrine/DoctrineBundle/pull/1255

因此,在升级到 DoctrineBundle 2.2.1 时,请确保保留metadata_cache_driver生产环境的配置。

编辑:该功能在 DoctrineBundle 版本 2.3.0 中再次发布。因此,metadata_cache_driver在使用此版本时,可以安全地删除生产环境的配置。