Как я могу использовать phpdoc для типа параметров вызова?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как я могу использовать phpdoc для типа параметров вызова?

Сообщение Anonymous »

У меня есть метод, который принимает обратный вызов в качестве параметра. I would like to provide a signature in the PHPDoc for the class method that outlines the parameters for the callback function to be passed to that method so that my IDE (PHPStorm) can produce valid type hints for functions that are passed to my method, or at least someone looking at the code can determine the signature of the callback they're intended to provide.
For Пример: < /p>

Код: Выделить всё

class Foo {
public $items = [];
/**
* @param Callable(
*   @param ArrayObject $items The list of items that bar() will return
* ) $baz A callback to receive the items
**/
public function bar(Callable $baz) {
$items = new ArrayObject($this->items);
$baz($items);
}
}
Бар методов имеет один параметр, $ baz , который является функцией обратного вызова. Любая функция, передаваемая как параметр для bar () , должна принять ArrayObject в качестве единственного параметра.
В идеале можно быть возможно включить несколько параметров для Callable , точно так же, как для любого другого метода.

Код: Выделить всё

$foo = new Foo();
$foo->bar(function(
< /code>
... Я должен получить список параметров, который правильно намекает на тип (ArrayObject
) принятого параметра для этого вызова функции.
Это возможно? Поддерживает ли это Phpstorm или другой IDE? Есть ли рекомендуемый/стандартный способ документировать это, даже если нет поддержки IDE?

Подробнее здесь: https://stackoverflow.com/questions/136 ... a-callable
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»