PHP: передача интерфейса в качестве параметра - PullRequest
1 голос
/ 09 октября 2011

В .NET я сделал, чтобы я передавал интерфейсы в качестве параметров в методы класса.Я хочу знать, возможно ли это в PHP?

Мой scnerio состоит в том, что у меня есть класс, имеющий дело с функциональностью системы mqin.Теперь я хочу интегрировать систему уведомлений с ней.Я хочу, чтобы система уведомлений была отдельной, так как она не является основной частью системы, и я могу использовать ее где-то еще.Если у меня есть следующая структура:

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

И тогда я делаю:

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

Так возможно ли, что я могу получить доступ к set () и send () здесь после реализации их вкласс?Я хочу знать, как этот пример C # работает, чтобы они устанавливали параметры типа интерфейса.

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 октября 2011

Да, это возможно, в значительной степени, как вы написали.Пример такого интерфейса: http://api.nette.org/2.0/source-Http.IResponse.php.html#18 и пример такого параметра: http://api.nette.org/2.0/source-Http.Context.php.html#32

0 голосов
/ 09 октября 2011

Да, вы можете делать, как вы закодировали.Вы можете найти дополнительную информацию и примеры на php.net .

Обратите внимание, что указание типа в параметре метода ( type hinting ) разрешено (PHP> = 5), но не обязательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...