如果我在PHP中有一个界面,请说
interface AuthenticationInterface {
}
和两个实现接口的类,例如
class ApiKey implements AuthenticationInterface {
}
class AuthToken implements AuthenticationInterface {
}
如何在实例化新的AuthenticationInterface时确定使用哪些类?
答案 0 :(得分:3)
接口用于为继承它的类定义结构(体系结构)。
接口是一个合同,指定一组可在任何实现对象上使用的方法,字段和属性
我认为您对班级工厂设计模式感兴趣。在此处阅读更多相关信息:php design patterns
答案 1 :(得分:0)
接口无法实例化。您可以创建类的对象。
答案 2 :(得分:0)
如果您的对象在上游的某个地方被实例化,并且您知道的是它实现了您的AuthenticationInterface接口(因此您知道它可以是少数类中的一个......在您的情况下为2),您可以告诉哪个通过使用“instanceof”
对您的对象进行分类if ($your_object instanceof ApiKey)
{
echo 'object class is ApiKey';
}