7
votes

Documenter PHP Héritage multiple avec phpdoc

J'ai plusieurs héritage comme celui-ci: Puis-je prolonger une classe en utilisant plus d'une classe dans PHP? (ne discutons pas de cette approche elle-même s'il vous plaît) et que je souhaite que mon IDE connaisse de savoir sur des méthodes et des propriétés de classe héritées. Y a-t-il un moyen de le faire avec phpdoc?


3 commentaires

Votre question est-elle plus liée à phpdoc ou plus lié à «Comment affiche l'auto-achèvement approprié à l'intérieur de l'éditeur»?


Je n'aime pas appeler ce truc plusieurs héritage, mais plutôt la délégation.


Savagiste, il s'agit de phpdoc mais il est également bon de savoir s'il ya des astuces spécifiques à l'IDE.


3 Réponses :


3
votes

the @method < / a> L'anotation doit être utilisée pour la mise en œuvre de classes __ appel . Sur une note associée, pour __ obtenir , __ définir et __ émetteur , le @property annotations doit être utilisé. La seule chose que je ne sais pas, c'est si Eclipse PDT prend en charge ces annotations. Je sais que Netbeans fait.


1 commentaires

Merci, je sais que je peux les utiliser, mais il est difficile de redéclairez toutes les méthodes et les propriétés héritées d'une par une. Mon espoir est qu'il y a une sorte de phpdoc que j'ai manqué qui puisse déléguer des méthodes et des propriétés de classe à une autre classe. BTW., Phpstorm soutient à la fois @property et @Method.



12
votes

Il semble qu'il n'y ait aucun moyen de le faire facilement. J'ai créé un ticket sur Phpstorm Proticive Tracker. Peut-être qu'ils vont ajouter une assistance à cette fonctionnalité.

http://youtrack.jetbrains.net/issue/wi-1730 < / p>


2 commentaires

Et finalement ils l'ont fait :)


Cela fonctionne dans PHPSTorm Tout simplement en utilisant le code PHPDoc Param @MIXIN Comme: / * @MIXIN \ Un autre \ Classe \ ou \ NAMESpace * / en haut de la classe .



-3
votes

Il n'y a pas de support pour plusieurs héritages au niveau de la classe. Cela signifie que vous ne pouvez pas étendre plus d'une classe à la fois. Cependant, plusieurs héritages sont pris en charge dans des interfaces. Une interface peut prolonger un nombre arbitraire d'autres interfaces à la fois.


0 commentaires