我正在尝试实现自己的userBundle,我正在从FOSUSerBunle获取想法。 在我看到代码的时候,我注意到他首先创建了UserInterface,然后在用户实体上实现了该接口。
我想知道userInterface的用途是什么,为什么我不能直接创建UserClass
答案 0 :(得分:3)
接口是面向对象的编程概念。在PHP中,它声明(未定义)一组公共方法。任何实现接口的类都需要定义接口中声明的方法。您可以将接口视为合同。
使用界面可以“program to an interface”。
对于FOSUserBundle,应使用UserInterface
,以便您的用户实体实际使用捆绑的其余部分。通过同意UserInterface
的合同,您的用户实体将包含FOSUserBundle要求的必要方法。此外,您可能会在FOSUserBundle中看到特定引用UserInterface
的类型提示,而不是具体的用户类。
如果您要滚动自己的用户捆绑包,则无需实现任何接口,因为设计完全取决于您。但是,听起来你在这里重新发明轮子,所以我建议你只使用FOSUserBundle。
答案 1 :(得分:0)
因此,您可以创建自己的实现此接口的用户类。这样您就可以轻松地将您的课程与FOSUserBundle集成