Ich versuche
zu lösen "Feld 'stdout' nicht gefunden ..."
und
"Method ... nicht in Array gefunden"
Warnung mit PHPDocumentor Notationen @property
und @method
auf PhpStorm
konnte ich die Warnung für stdout lösen mit:
* @property array stdout
Aber jetzt, wie Sie die Method 'styles' not found in array
beheben Warnung? (Siehe Abbildung oben)
ich diesen Code aus zu zeigen, was ich versuche zu erreichen:
* @method array $stdout->styles(array $name, array $items)
Dies ist ein CakePHP 2 Projekt CakePHP Command Shell verwenden.
stdout->styles
ist im Framework deklariert.
Weiteren Kontext ist es das, was mein Code wie folgt aussieht:
<?
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) Was ist 'stdout'? 2) Wie es erklärt wird? 3) Wenn es wie 'stdout-> styles' verwendet wird .. warum versuchst du' stdout' als Array zu deklarieren (wenn es hier eindeutig ein Objekt ist)? 3) '* @method array $ stdout-> stile (array $ name, array $ artikel)' - völlig falsch - man kann auf diese Weise keine Untereigenschaft/Untermethode deklarieren - nur direkte Elemente. Dies bedeutet (mit Ihrem Beispiel) '* @method Array-Stile (Array $ Name, Array $ Elemente)' bestenfalls (was immer noch falsch für Ihren Fall ist - aber das ist nur um die richtige Syntax zu veranschaulichen). – LazyOne
Werfen Sie einen Blick auf die korrekte Syntax: https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md – LazyOne
@lazyone Danke für die Antwort, ich habe weitere Informationen zu der Frage hinzugefügt. 'stdout' und' styles' sind im CakePHP-Framework definiert. Es liegt außerhalb meiner Kontrolle. – Timber