Je suis en train de résoudre
" 'stdout' Champ introuvable dans ..."
et
"Méthode ... pas trouvé dans le tableau"
avertissement en utilisant les notations PhpDocumentor @property
et @method
sur PhpStorm
j'ai pu résoudre l'avertissement pour stdout en utilisant:
* @property array stdout
Mais maintenant, comment résolvez-vous le Method 'styles' not found in array
Attention? (Voir capture ci-dessus)
je compose ce code pour montrer ce que je suis en train de réaliser:
* @method array $stdout->styles(array $name, array $items)
Ce projet CakePhp 2 en utilisant commande CakePHP Shell.
stdout->styles
est déclaré dans le cadre.
Pour plus de contexte c'est ce que mon code ressemble à:
<?
class InvoiceShell extends AppShell {
public $uses = array('Invoice', 'Request');
public function main() {
$this->stdout->styles('success', ['text' => 'green']);
$this->stdout->styles('danger', ['text' => 'red']);
$this->stdout->styles('bold', ['bold' => true]);
.
.
.
}
}
1) Qu'est-ce que 'stdout'? 2) Comment c'est déclaré? 3) s'il est utilisé comme 'stdout-> styles' .. alors pourquoi essayez-vous de déclarer stdout' comme tableau (quand c'est clairement un objet ici)? 3) '* @method array $ stdout-> styles (tableau $ name, array $ items)' - complètement faux - vous ne pouvez pas déclarer de sous-propriété/sous-méthode de cette façon - seulement des éléments directs. Cela signifie (en utilisant votre exemple) '* @method array styles (tableau $ name, array $ items)' au mieux (ce qui est encore faux pour votre cas - mais c'est juste pour illustrer la bonne syntaxe). – LazyOne
Jetez un oeil à la syntaxe correcte: https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md – LazyOne
@lazyone Merci d'avoir répondu, j'ai ajouté plus d'informations à la question. 'stdout' et' styles' sont définis dans le framework CakePHP. C'est en dehors de mon contrôle. – Timber