Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP: Passing Interface as Parameter

Tags:

oop

php

interface

In .NET I have done that I passed Interfaces as parameters in class methods. I want to know is it possible in PHP?

My scnerio is that I have a class dealing with mqin system functionality. Now I want to integrate Notification system with it. I want to keep notification system separate since it is not the main part of the system plus I can use it somewhere else. If I have the following structure:

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

And then I do:

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

So Is it possible that I can access set() and send() here after implementing them in a class? I want to know how this C# Example work that they set parameters of an Interface type.

Thanks

like image 238
Volatil3 Avatar asked Jun 19 '26 03:06

Volatil3


1 Answers

Yes, it is possible, pretty much as you wrote. Example of such interface: http://api.nette.org/2.0/source-Http.IResponse.php.html#18 and example of such parameter: http://api.nette.org/2.0/source-Http.Context.php.html#32

like image 199
Mikulas Dite Avatar answered Jun 21 '26 16:06

Mikulas Dite