gpt4 book ai didi

Symfony 2 捆绑依赖问题

转载 作者:行者123 更新时间:2023-12-02 13:32:34 25 4
gpt4 key购买 nike

我创建了一个 bundle 来管理用户组权限。我希望它通过将其移动到供应商目录中来使项目独立。
为了使这个 bundle 不可变,我将用户数据移动到用户元 bundle 中。
主包仅包含有关用户的用户名和电子邮件,而 usermeta 包含其他所有内容(姓名、出生日期等,无论项目需要什么)。

问题在于主用户 bundle 属于核心 bundle 组,每个项目都使用相同的核心 bundle 。
用户-用户元关系现在创建了依赖关系。所以每个项目都需要它。

我的问题是
- 我怎样才能标准化它的格式,以强制在每个项目中正确创建它。
- 如何使此依赖项成为可选(首选)

最佳答案

我建议您在包中只处理 UserInterface 而不是 User 实体。

如果 Symfony UserInterface 没有实现您需要的一切(用户名但没有电子邮件),请在您的包中创建您自己的 UserInterface :

namespace YourDomain\YourBundle\Interface;

use Symfony\Component\Security\Core\User\UserInterface as BaseInterface;

/**
* UserInterface is the interface that user classes must implement.
*/
interface UserInterface extends BaseInterface
{
/**
* Returns the email address of the user.
*
* @return string The user email address
*/
function getEmail();
}

然后,在使用您的包的项目中,您的 User 实体必须实现您的特定接口(interface)而不是 Symfony UserInterface。

关于Symfony 2 捆绑依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9436680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com