Ok, Titel ziemlich seltsam klingt, aber hier ist die Situation:PHPDoc: geschützte Methode für Eigenschaft beschreiben
class A
{
use AA;
protected function methodOfA() {}
}
/**
* @method void methodOfA()
*/
trait AA
{
public function methodOfAA()
{
$this->methodOfA();
}
}
Also auf IDE haben (in meinem Fall PhpStorm) Auto-Vervollständigung Magie, ich @method Beschreibung manuell deklarieren AA zu charakterisieren, und alles sieht gut aus, bis ich zurück in die Klasse A gehe, wo der Code-Inspektor sagt: 'Kann die öffentliche Methode AA-> methodOfA protected' nicht machen. Also Frage ist, ob es eine Möglichkeit gibt, Methoden in diesem Fall korrekt zu deklarieren? Oder ist vielleicht die ganze Vorstellung falsch?
Nicht genau ... Klasse A hat methodOfA und Trait AA hat methodOfAA. Wie auch immer, phpStorm vervollkommnet erfolgreich Trait-Methoden in Klasse A. Problem ist, wie man Trait AA sagt, dass es Methoden von Klasse A hat. – David