我是否需要在主类之前首先在symfony2中创建接口

时间:2012-07-11 07:55:03

标签: php symfony doctrine-orm

我正在尝试实现自己的userBundle,我正在从FOSUSerBunle获取想法。 在我看到代码的时候,我注意到他首先创建了UserInterface,然后在用户实体上实现了该接口。

我想知道userInterface的用途是什么,为什么我不能直接创建UserClass

2 个答案:

答案 0 :(得分:3)

接口是面向对象的编程概念。在PHP中,它声明(未定义)一组公共方法。任何实现接口的类都需要定义接口中声明的方法。您可以将接口视为合同。

使用界面可以“program to an interface”。

对于FOSU​​serBundle,应使用UserInterface,以便您的用户实体实际使用捆绑的其余部分。通过同意UserInterface的合同,您的用户实体将包含FOSUserBundle要求的必要方法。此外,您可能会在FOSUserBundle中看到特定引用UserInterface的类型提示,而不是具体的用户类。

如果您要滚动自己的用户捆绑包,则无需实现任何接口,因为设计完全取决于您。但是,听起来你在这里重新发明轮子,所以我建议你只使用FOSUserBundle。

答案 1 :(得分:0)

因此,您可以创建自己的实现此接口的用户类。这样您就可以轻松地将您的课程与FOSUserBundle集成