Sonata AdminBundle和UserBundle:我怎样才能找到这个参数?

时间:2012-08-28 12:00:35

标签: symfony symfony-sonata sonata-admin

在“完成”学习Symfony2之后,我开始看看Sonata Admin和用户捆绑包,因为这些捆绑包可以帮助我完成未来的工作。

在第一,我觉得非常复杂,难以理解。但是,通过几个小时的架构研究,应用于真实文件,类等等,我想我完全理解该捆绑的本质是什么以及它是如何工作的。

我唯一理解的“黑洞”是,我在哪里可以找到sonata.user.admin.user中使用的参数,称为sonata.user.admin.user.entity?据我所知,该参数只是指向负责数据库读写操作的用户类。

我问这个是因为,经过几十分钟的观察,我找到这些信息的唯一地方是

./app/cache/prod/appProdProjectContainer.php
./app/cache/dev/appDevDebugProjectContainer.xml
./app/cache/dev/appDevDebugProjectContainer.php

这个变量是否可能只在那里定义?
如果是,因为被放入cache文件夹?加载时间更快?

1 个答案:

答案 0 :(得分:1)

您还应该查看DependencyInjection个文件夹中的扩展名 - 有时参数在yaml中以一种方式定义,但在加入连接后,它们会转换为另一种:

如果您的parameters中有类似的内容:

your_user: 'Somename'

DependencyInjection中,它解析如下:

foreach($config as $key => $value) {
    $container->setParameter('your.prepend.'.$key, $value);
}

然后最后你将使用索引your.prepend.your_user编译你的参数。

我想,在提到的捆绑包中使用相同的逻辑。


<强>更新

Example使用描述的逻辑