Создание PHP-интерфейсов

Есть ли инструмент для генерации php-интерфейса из существующих классов? Было бы неплохо иметь такой инструмент, как создание автоматического getter / setter Netbeans, но для интерфейсов.

Для программного использования имеется InterfaceDistiller который позволяет выводить интерфейсы из существующих классов следующим образом:

 $distiller = new InterfaceDistiller; $distiller ->methodsWithModifiers(\ReflectionMethod::IS_PUBLIC) ->extendInterfaceFrom('Iterator, SeekableIterator') ->excludeImplementedMethods() ->excludeInheritedMethods() ->excludeMagicMethods() ->excludeOldStyleConstructors() ->filterMethodsByPattern('(^get)') ->saveAs(new SplFileObject('MyInterface.php')) ->distill('SomeFoo', 'MyInterface'); 

Он также имеет интерфейс CLI:

 Usage: phpdistill [options] <classname> <interfacename> --bootstrap Path to File containing your bootstrap and autoloader --methodsWithModifiers <number> A ReflectionMethod Visibility BitMask. Defaults to Public. --extendInterfaceFrom <name,...> Comma-separated list of Interfaces to extend. --excludeImplementedMethods Will exclude all implemented methods. --excludeInheritedMethods Will exclude all inherited methods. --excludeMagicMethods Will exclude all magic methods. --excludeOldStyleConstructors Will exclude Legacy Constructors. --filterMethodsByPattern <pattern> Only include methods matching PCRE pattern. --saveAs Filename to save new Interface to. STDOUT if omitted. 

Я не знаю никакой среды IDE, предлагающей такую ​​функциональность для php.

В настоящее время PHPStorm 8 может это сделать, может быть, и предыдущих версий.

шаги:

  1. Наведите курсор на имя класса
  2. Выберите: Refactor -> Extract -> Interface
  3. Заполните параметры и выполните.