qu'elles sont les classes que je peux avoir pour mon site

Eléphant du PHP | 417 Messages

06 févr. 2012, 09:54

Bonjour,

Débutant en POO j'ai du mal encore a prendre la décision :roll: tous seul quand est ce que je vais créer une classe :mrgreen:
actuellement je travaille sur un site de rencontre, donc je voulais savoir qu'elles sont les classes que je pourrai avoir pour ce projet ? :^o

Merci d'avance

ViPHP
ViPHP | 4039 Messages

06 févr. 2012, 10:09

ben, Homme, Femme et plus si affinités :mrgreen: :mrgreen:

Sinon, pour avoir une première petite idée, essaye de transcrire en UML le fonctionnement de ton site, de façon à pouvoir tenter plusieurs approches et voir celle qui te mènera le plus loin.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 417 Messages

06 févr. 2012, 10:18

ben, Homme, Femme et plus si affinités :mrgreen: :mrgreen:

Sinon, pour avoir une première petite idée, essaye de transcrire en UML le fonctionnement de ton site, de façon à pouvoir tenter plusieurs approches et voir celle qui te mènera le plus loin.
Ah oui Homme et femme et pas seulement une classe User ?

ViPHP
xTG
ViPHP | 7331 Messages

06 févr. 2012, 10:49

Le concept que tu ne sembles pas comprendre c'est que la programmation objet permet de tout découper en objet distinct et réutilisable.
Donc on peut découper absolument n'importe quel traitement et abstraire autant que l'on veut.

Essaies de décomposer ton système en un diagramme de classe UML.
Quand tu auras tout dessiné tu auras en fait tous tes objets (et donc les différentes classes).

Petit nouveau ! | 1 Messages

04 avr. 2015, 08:11

Mais avec cette technique, je ne vois pas trop quel serait la différence si je déclarais toutes les variables en public puisque finalement je vais appeler mes objets comme si j'accédais directement à une variable public. Quel est donc l'intérêt de déclarer tout en private ? et quel est la meilleur façon de créer les getter et setter pour un nombre important de variables?

Eléphanteau du PHP | 10 Messages

13 avr. 2015, 00:11

Utiliser des getters & setters c'est bien quand tu travailles en équipe.
Ca évite les bêtises du genre $oUser->name = 'comparaison' au lieu de $oUser->name == 'comparaison', c'est plus rare de se tromper en faisant $oUser->setName('comparaison'). C'est aussi une nomenclature plus claire.

Ca permet aussi d'update automatiquement en base un objet quand on fait un set.

Bref pour tes classes la question est trop grosse pour pouvoir donner une réponse précise. Peut y avoir 200 classes pour un site de rencontre, 2000 ou 20000.

Un bon réflexe est de faire une classe par table dans ta base. Pour éviter la redondance, le mieux est de créer des bases et d'extend ensuite pour récupérer des méthodes/propriétés d'autres classes.

Un exemple pour ton site, t'auras très sûrement une classe Message, ainsi qu'une classe Commentaire, ainsi qu'une classe Réponse, toutes ces classes ont beaucoup de points communs, c'est un texte qu'on envoi, donc tu peux faire une classe de base Texte qui aura des propriétés/méthodes communes à toutes celles du dessus.