关于在symfony2 Doctrine中使用“Interface”感到困惑

时间:2012-07-19 05:19:06

标签: php interface symfony doctrine-orm

我有这个班级

UserInterface ---abstract class User implements Userinterface -------- class Teacher extends User

现在我很困惑我在php文件中应该期待什么类型的课程

我的意思是在我的论证中我需要输入

Class Test(UserInterface $user)

Class Test(User $user)

Class Test (Teacher $user)Class Test (Teacher $teacher)

我很困惑

1 个答案:

答案 0 :(得分:1)

使用最符合您需求的一般产品,因为它可以使您的代码更加灵活。例如,如果您需要调用的方法存在于UserInterface中,请使用它;另一方面,如果在UserTeacher中定义了所需的方法,请使用相应的方法。

期望接口比期望类更灵活,因为在并行层次结构的情况下不可能扩展类,而在这种情况下可以实现接口。