在“完成”学习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
文件夹?加载时间更快?
答案 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使用描述的逻辑