2017-09-06 4 views
1

Je ne trouve rien qui dise dans PSR sur où placer un commentaire sur la classe et l'espace de noms. Est-ce que ça devrait être la première description de la classe ou de l'espace de noms?PSR pour l'utilisation de la description de la classe

<?php 
/** 
* Some description about this class 
* 
* @author  Mr. Anderson 
* @since  06/09/17 
* @package 
* 
*/ 

namespace MyNamespace; 

class MyClass 
{ 
} 

Ou bien cela?

<?php 

namespace MyNamespace; 

/** 
* Some description about this class 
* 
* @author  Mr. Anderson 
* @since  06/09/17 
* @package 
* 
*/ 

class MyClass 
{ 
} 
+0

PSR ne couvre pas [phpdoc] (https://www.phpdoc.org/). Je les mettrais juste avant le mot clé 'class' – apokryfos

Répondre

3

PSR n'a rien à voir avec cela. PSR ne dit rien à propos de docblocks.

Ce qui importe vraiment est la façon que vos commentaires sont traités par phpdoc:

<?php 
/** 
* Some description about this class 
* 
* @author  Mr. Anderson 
* @since  06/09/17 
* @package 
* 
*/ 

namespace MyNamespace; 

class MyClass 
{ 
} 

est traité comme vous avez un commentaire à un fichier , mais ne dispose pas d'un commentaire à une classe exacte MyClass , donc après la génération de la documentation, il y aura une erreur que vous n'avez pas de description de classe.

En second cas:

<?php 

namespace MyNamespace; 

/** 
* Some description about this class 
* 
* @author  Mr. Anderson 
* @since  06/09/17 
* @package 
* 
*/ 

class MyClass 
{ 
} 

phpdoc examinera docblock comme commentaire à une classeMyclass, mais ne trouvera pas un commentaire à un fichier complet. Donc, vous aurez toujours une erreur après avoir généré des documents.

Mais, avec ces deux approches, je sélectionnerais deuxième, car il est préférable d'avoir classe description, puis la description du fichier.

+0

Comme suggéré par @u_mulder, phpDocumentor s'attend à voir * both * le docblock au niveau du fichier (son premier exemple) * et * le docblock au niveau de la classe (son deuxième exemple). .. donc je suggère d'utiliser les deux. Si vous voulez documenter spécifiquement l'espace de noms lui-même, ce docblock devrait venir après le docblock au niveau du fichier, avant la ligne d'espace de noms elle-même. – ashnazg