IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] [PHPDOCUMENTOR] documenter une class. Exemple SVP


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut [POO] [PHPDOCUMENTOR] documenter une class. Exemple SVP
    Bonjour,

    Je me suis mis à l'utilisation de PHPDocumentor pour la documentation de mes applis ...
    J'avoue ne pas maitriser 100% la POO mais en PHP4 je m'en sorts ...
    En fait quand j'edite ma doc, toutes mes methodes apparaissent en fonction et mon bloc Methods est vide.

    Quelqu'un aurait il un exemple de classe commentée pour phpDocumentor ...

    Merci par avance...

    Je vous joint un exemple de mes class, je suis ouvert à toutes les critiques ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
     
    /**
     * Class gérant le suivi des correspondances
     * @author  Jérémie DAUMAIN.
     * @version 1.2 du 05/03/2006
     */
    class Courrier {
    	/**#@+    
    	* Attributs de la classe 
    	* @var int
    	*/
    	var $id;
    	var $suggestion;
    	var $lu;
    	/**#@-*/
    	/**#@+    
    	* Attributs de la classe 
    	* @var string
    	*/	
    	var $exp_uid;
    	var $exp_nom_prenom;
    	var $dest_uid;
    	var $dest_nom_prenom;		
    	var $sujet;
    	var $text;	
    	var $ref;
    	/**#@-*/
    	/**
    	* @var date 
    	*/
    	var $dateC;
     
     
     
     
    	/***** CONSTRUCTEURS *****/
    	function courriers($id=NULL, $suggestion=NULL, $exp_uid=NULL, $exp_nom_prenom=NULL, $dest_uid=NULL, $dest_nom_prenom=NULL, $sujet=NULL,$text=NULL,$dateC=NULL, $lu, $ref) {
    		$this->insert($id, $suggestion, $exp_uid, $exp_nom_prenom, $dest_uid, $dest_nom_prenom, $sujet, $text, $dateC, $lu, $ref);
    	}
    	/** 
    	* Fonction insert()
    	*
    	* Instancie l'objet avec tous les éléments passés en parametres, prend tous les champs de la table rattachées en parametre dans l'suggestion
    	* de la table
    	*/
    	function insert($id, $suggestion, $exp_uid, $exp_nom_prenom, $dest_uid, $dest_nom_prenom, $sujet, $text, $dateC=NULL,$lu, $ref) {
    		$this->id = $id;
    		$this->suggestion = $suggestion;
    		$this->exp_uid = $exp_uid;
    		$this->exp_nom_prenom = $exp_nom_prenom ;
    		$this->dest_uid = $dest_uid ;
    		$this->dest_nom_prenom = $dest_nom_prenom ;
    		$this->sujet = $sujet ;
    		$this->dateC = $dateC;
    		$this->text = $text ; 
    		$this->lu = $lu ;
    		$this->ref = $ref ;
    	}
    	/** 
    	* Récupération des données en Base
    	*
    	* Instancie l'objet avec tous les éléments contenus en base
    	* @param int La clé de la base
    	*/	
    	function insertFromDB($id) {
    		if($id!=NULL){
    			$sql_cou = 'SELECT * FROM courriers WHERE cou_id='.$id;
    			if($res_cou = mysql_query($sql_cou)){
    				if(mysql_num_rows($res_cou) == 1)
    				{
    					$tab_cou = mysql_fetch_array($res_cou);
    					$this->insert($id, $tab_cou['cou_suggestion'], stripslashes($tab_cou['cou_exp_uid']),stripslashes($tab_cou['cou_exp_nom_prenom']),
    							$tab_cou['cou_dest_uid'],$tab_cou['cou_dest_nom_prenom'],$tab_cou['cou_sujet'],$tab_cou['cou_text'],$tab_cou['cou_date'], $tab_cou['cou_lu'], $tab_cou['cou_ref']);
    				}
    			}
    		}
    		else {
    			return false ;
    		}
    	}
    	/** 
    	* Insertion des données en Base
    	*
    	* Insert les données en base.
    	* Si un Id est passé en parametre, effectue une modification
    	* @param int La clé de la base
    	*/
    	function exportToDB($id=NULL) {
    		$rq[0]='INSERT INTO';
    		$rq[1]='';
    		$this->ref=md5($this->exp_uid).time()."_".$this->suggestion;
    		if ($id != NULL){
    			// Il s'agit d'un UPDATE
    			$rq[0] = 'UPDATE';
    			$rq[1] = 'WHERE cou_id=\''.$id.'\'';
    		}
    		print '<br />';
    		print $sql= $rq[0].' courriers SET cou_suggestion=\''.$this->suggestion.'\', cou_exp_uid=\''.$this->exp_uid.'\', cou_exp_nom_prenom=\''.$this->exp_nom_prenom.'\',
    				cou_dest_uid=\''.$this->dest_uid.'\', cou_dest_nom_prenom=\''.$this->dest_nom_prenom.'\', cou_sujet=\''.addslashes($this->sujet).'\', cou_text=\''.addslashes($this->text).'\',
    				cou_date=\''.$this->dateC.'\',cou_lu=\''.$this->lu.'\',cou_ref=\''.$this->ref.'\''.$rq[1];
    		mysql_query($sql) or trigger_error(mysql_error(),E_USER_ERROR);
     
    	}
    	/***** ACCESSEURS *****/
    	/**
    	* @return int Identifiant du courrier
    	*/
    	function getID() {
    		return $this->id;
    	}
    	/**
    	* @return int Numero de suggestion du courrier
    	*/
    	function getSuggestion() {
    		return $this->suggestion;
    	}
    	/**
    	* @return string Uid de l'expediteur du courrier
    	*/
    	function getExpUid() {
    		return $this->exp_uid;
    	}
    	/**
    	* @return string Nom prenom de l'expediteur du courrier
    	*/
    	function getExpNomPrenom() {
    		return $this->exp_nom_prenom;
    	}
    	/**
    	* @return string Caractère d'obligation du courrier
    	*/	
    	function getDestUid() {
    		$this->dest_uid;
    	}
    	/**
    	* @return string Destinataire du courrier
    	*/	
    	function getDestNomPrenom() {
    		return $this->dest_nom_prenom;
    	}
    	/**
    	* @return string Sujet du courrier
    	*/	
    	function getSujet() {
    		return stripslashes($this->sujet);
    	}
    	/**
    	* @return string date du courrier
    	*/	
    	function getDateC() {
    		return $this->dateC;
    	}
    	/**
    	* @return string text du courrier
    	*/
    	function getText(){
    		return stripslashes($this->text) ;
    	}
    	/**
    	* Liste des courriers rattachés à une idée
    	* @ param var id de l'idée
    	* @return array Tableau d'objets courriers
    	*/
    	function getCourrier($suggestion) {
    		$sql_cou = 'SELECT cou_id FROM courriers WHERE cou_suggestion='.$suggestion;
    		$res_cou=mysql_query($sql_cou);
    		$nb_cou = mysql_num_rows($res_cou);
    		$courrier=array();
    		if($nb_cou > 0) {
    			while($row_cou = mysql_fetch_assoc($res_cou)){
    				$courrier = new courrier();
    				$courrier->insertFromDB($row_cou['cou_id']);
    				$tabCourrier[]=$courrier;
    			}
    		}
    		return $tabCourrier;
    	}
    	/**
    	* Nombre de courriers non lus
    	* @ param var id de l'idée
    	* @return int Nombre de courriers non lus
    	*/
    	function getNouveauCourrier($suggestion) {
    		$sql_cou = 'SELECT cou_id FROM courriers WHERE cou_suggestion='.$suggestion.' AND cou_lu=0';
    		$res_cou=mysql_query($sql_cou);
    		$nb_cou = mysql_num_rows($res_cou);
    		return $nb_cou;
    	}	
    }

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Salut

    tu documentes tous les accesseurs mais pas les fonctions ( ou alors c'est un oubli, exemple fonction insert() ) ni le constructeur... je trouve qu'il y a plus d'intérêt dans l'inverse mais bon, c'est mon avis,

    En fait, je pense que la documentation de ton code doit être la plus fluide possible pour la bonne compréhension d'un éventuel autre développeur, ou de toi dans 6 mois... donc c'est un peu comme une touche personnelle, il n'y a pas franchement de directive stricte à ce sujet, et en ce qui concerne les tag's, normalement à la génération, phpDocumentor t'indique les avertissements de "compilation"

    méfies toi aussi des espaces comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       * @ param var id de l'idée
    je ne suis pas sûr que cela soit interprété normalement...

    je ne sais pas non plus à quoi correspond ce genre de tag...
    si tu peux m'expliquer, là je veux bien

  3. #3
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    http://phpdebug.sourceforge.net/docu...debug.php.html

    Merci HiSy ;-)


    Nan en fait, merci le Forum ... et le post sur les documenteur PHP ...

    Ca y est ... Je solliloque ...

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    : heuuu

    merci, je connaissais la doc...mais je ne vois toujours pas l'intérêt de
    /**#@-*/

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ca sert à faire des blocs de commentaires.
    Tout ce qui trouve dans le bloc partagent le commentaire du bloc: pas besoin de répeter à chaque fois @access private par exemple.

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    merci

  7. #7
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Petite précision ... ska_root ,

    Tu as répondus pendant que je rédigeais ma réponse ... à ma question ...

    Dans mes merci Hisy et autres bouffonneries ne t'étais pas adressées ...



    Merci pour tes éléments de réponse en tout les cas ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] Fonctions dans une classe abstraite
    Par Seth77 dans le forum Langage
    Réponses: 4
    Dernier message: 27/06/2006, 14h21
  2. [POO] Quand utiliser une classe ?
    Par Gwipi dans le forum Langage
    Réponses: 8
    Dernier message: 05/05/2006, 15h31
  3. [POO] Utilisation d'une classe dans une classe !
    Par Okinou dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 15h34
  4. Réponses: 19
    Dernier message: 03/02/2006, 00h30
  5. Réponses: 3
    Dernier message: 02/12/2005, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo