1

在“完成”了 Symfony2 的学习之后,我开始查看 Sonata Admin 和 User 包,因为这些包可以帮助我在未来的一些工作中。

首先,在我看来,一切都非常复杂且难以理解。但是通过几个小时的体系结构研究,应用于真实的文件、类等,我想我已经完全理解了这个包的本质是什么以及它是如何工作的。

我唯一了解的整个事情的“黑洞”是,我在哪里可以找到用于的参数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文件夹?加载时间更快吗?

4

1 回答 1

1

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

如果parameters你有类似的东西:

your_user: 'Somename'

并在DependencyInjection其中解析如下:

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

然后最后你会用 index 编译你的参数your.prepend.your_user

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


更新:

所描述逻辑的使用示例

于 2012-08-28T12:50:42.933 回答