PHP:将接口作为参数传递


PHP: Passing Interface as Parameter

在。net中,我将接口作为类方法的参数传递。我想知道这在PHP中是否可行?

我的场景是,我有一个处理mqin系统功能的类。现在我想集成通知系统与它。我想保持通知系统分开,因为它不是系统的主要部分,而且我可以在其他地方使用它。如果我有以下结构:

Interface INotification
{
  public set()
  public send()
}

然后我做:

class MyClass
{
   public setNotifier(INotification $notifier)
  {
  }
}

那么,我是否可以访问set()和send()在类中实现后在这里?我想知道这个c#例子是如何工作的,他们设置了一个接口类型的参数。

谢谢

是的,这是可能的,就像你写的那样。接口示例:http://api.nette.org/2.0/source-Http.IResponse.php.html#18,参数示例:http://api.nette.org/2.0/source-Http.Context.php.html#32

是的,您可以按照自己编写的代码执行。您可以在php.net上找到更多信息和示例。

注意,在方法参数中指定类型(类型提示)是允许的(PHP>= 5),但不是必需的。