是否可以auto_detection
用于某些捆绑包,同时通过指定第三方模型来覆盖它们的位置directories
?
在过去的几天里,我一直在使用JMSSerializerBundle试图理解它并让它与个人项目一起使用,它看起来没有任何方法可以使用auto_detection
以及指定directories
第三方元数据。
如果我写我的FOSUserBundle Model.User.yml
序列化数据,例如:
FOS\UserBundle\Model\User:
access_type: property
exclusion_policy: ALL
xml_root_name: user
properties:
username:
type: string
expose: true
并将其放在指定的目录中,whileauto_detection
设置为 true,如下所示:
jms_serializer:
metadata:
debug: true
file_cache:
dir: "%kernel.cache_dir%/serializer"
auto_detection: true
directories:
FOSUserBundle:
namespace_prefix: FOS\UserBundle
path: "@MyBundle/config/serializer/fosuser"
未提取序列化元数据。
但是,如果我将相同的元数据文件放在FOS/UserBundle/Resources/config/serializer下(在供应商包中)并将配置更改为:
jms_serializer:
metadata:
debug: true
file_cache:
dir: "%kernel.cache_dir%/serializer"
auto_detection: true
#directories:
# FOSUserBundle:
# namespace_prefix: FOS\UserBundle
# path: "@MyBundle/config/serializer/fosuser"
序列化元数据被读取并正确应用。