Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2011, 17h14   #1
Invité régulier
 
Inscription : août 2010
Messages : 53
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 53
Points : 5
Points : 5
Par défaut debutant POO PHP

Salut,
en fait apres une journée de recherche des cours ou des exemples vives,j'ai decide de me lancer dans le domaine.j'ai trouvé une cas que je voulais la reecrire en poo php,je suis pas sure de ma maniere et svp si quelqu'un peut la corriger et me dire pourquoi et ce que je dois faire
voila mes class
Code :
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
<?php
class adherent {
 
 
		         protected $nom;
				 protected $prenom;
		         protected $nb_livre;
 
 
				 public function __construct() {
 
				       $this->nom = '';
					   $this->prenom = '';
					   $this->nb_livre =  null;
 
				 }
 
				 public function adherent_create() {
 
				 }
 
				 public function adherent_update() {
 
				 }
 
				 public function adherent_delete() {
 
				 }
 
 
				 public function __destruct() { 
 
                 }
 
 
				 public static function permis() {
		                 return true;
		         }
 
		 }
?>
 
 class livre {
 
 
		         protected $nom;
				 protected $auteur;
				 protected $edition;
		         protected $annee;
 
 
				 public function __construct() {
 
				       $this->nom = '';
					   $this->auteur = '';
					   $this->edition = '';
					   $this->annee =  null;
 
				 }
 
				 public function livre_create() {
 
				 }
 
				 public function livre_update() {
 
				 }
 
				 public function livre_update() {
 
				 }
 
				 public function livre_delete() {
 
				 }
 
 
				 public function __destruct() { 
 
                 }
 
 
				 public static function dispo() {
		                 return true;
		         }
 
 
				 public static function emptruntable() {
		                 return true;
		         }
 
		 }
 
 
class bibliotheque {
 
		        protected $adhrent;
				protected $document;
 
 
 
 
		        public function __construct() { 
 
				       $this->adherent = new adherent();
					   $this->document = new livre();
 
				}
 
 
				public function document_load(){
 
 
 
 
				}
 
 
				public function verifier_adherent(){
 
 
 
 
				}
 
 
				public function verifier_document(){
 
 
 
 
				}
 
 
 
				public function update_document(){
 
 
 
 
				}
 
 
				public function rechercher(){
 
 
 
 
				}
		  }
j'ai ris le cas de ce site : http://eric.univ-lyon2.fr/~kaouiche/uml/td3.pdf


Merci d'avance
molo1987 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 19h10   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Je n'ai pas vu d'abberation notoire... Continue sur cette voie (pense tout de même à indenter correctement).

1 - Ton constructeur ne sert à rien, mets les valeurs comme ça:
Code :
1
2
3
4
 
protected $nom = "";
protected $prenom = "";
protected $nb_livre = null;
2 - PHP utilise par défaut le formalisme Java pour les classes et méthodes, personnellement je le reprends:
Code :
1
2
3
4
5
6
7
8
9
 
class MaClasse extends MonAutreClasse implements MonInterface
{
    protected $_une_propriete_objet;
    protected static $_une_propriete_de_classe;
 
    public function uneMethode () {}
    public static function uneMethodeStatique () {}
}
mais libre à toi de faire comme tu veux, l'essentiel c'est d'avoir un formalisme et de s'y tenir.

3 - Je ne te conseillerai jamais assez d'utiliser la syntaxe doxygen pour commenter tes classes, tu trouvera des exemples ici: http://en.wikipedia.org/wiki/Doxygen
Cette syntaxe est un standard reconnu qui permet notament à Eclipse de te fournir des informations supplémentaires quand tu code et à DoxyWizard de générer une documentation complête de tes classes exactement comme sur http://www.php.net/~helly/php/ext/spl/.

4 - Il est d'usage de ne mettre qu'une classe par fichier et de nommer de fichier "NomDeLaClasse.class.php" ceci afin de pouvoir utiliser l'autoloading des classes: http://php.net/manual/en/language.oop5.autoload.php

Voilà voilà
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h39.


 
 
 
 
Partenaires

Hébergement Web