Vous ne devez pas documenter la fonction anonyme, vous devez plutôt documenter une variable. Il ressemblera à ceci:
/** @var \Closure $length */
$length = function() {
return 20;
};
comme étiquette @var
est applicable pour les variables régulières aussi bien. Cela, cependant, n'est normalement pas nécessaire: PHPDoc est destiné à être utilisé par IDE et la plupart des IDE-s seront en mesure d'obtenir que votre variable est une fermeture juste parce que vous avez votre affectation.
Si vous voulez passer cette variable quelque part - la vous allusion à la méthode/fonction accepter comme callable
ou \Closure
explicitement, même sans PHPDoc (mais vous pouvez également utiliser PHPDoc ainsi)
Pour détails sur @var
tag, voir le documentation. Notez également que le type de fermeture ou le rappel n'aura rien à voir avec le type de valeur renvoyé par ce rappel - il est évident que vous déclarez votre callback, sans l'appeler (cela étant dit: je suppose que "length" n'est pas un bon nom pour un rappel car il provoque une confusion.Utilisez un certain nom d'action à la place, comme "lengthGetter" ou plus)
Vous devez documenter pas une fonction, mais une variable à la place. Il sera 'callable' (ou, si vous avez besoin d'une référence spécifique que c'est une fonction anonyme - le' \ Closure') –
Je ne pensais pas que les variables devaient être documentées avec un docblock? – henrywright
Si utilisé dans le même contexte - normalement, vous n'avez pas à le faire. PHPStorm, par exemple, sera parfaitement capable d'obtenir que votre $ longueur est une fermeture même sans elle. Pour les documentations de variables, voir [le manuel] (http://phpdoc.org/docs/latest/references/phpdoc/tags/var.html). Normalement, ce n'est pas nécessaire. –