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 :

a quoi servent les class ?


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut a quoi servent les class ?
    Bonjour à tous !!

    Je me décide a poster un message afin d'avoir quelques petits éclaircissements au sujet des class php.

    ca fait quelques jours que je me renseigne sur cette facon de coder, je lis partout les facons de faire, les exemples et tout ça, mais je ne vois toujours pas en quoi ca pourra changer ma facon de voir le codage !

    j'ai bien compris comemtn on creait des class, la n'est pas le souci.
    mon probleme, c'est de savoir quand les utiliser...

    j'ai bien trouver une class pour securiser les insertions bdd, ou une autre pour l'envoi de mail, ca ok, je comprends, et j'avoue que le code est plus clair.

    mais la ou ca peche dans ma tete, c'est quand j'utilise les requetes avec une bdd.

    Je m'explique.
    je construis un site actuellement, ou j'ai un compte client, et des sondages.

    je me dis que je pourrai creer des class pour les compte client, et pour le sondage.
    mais je ne vois pas ce que changerai le fait de faire ma requete, et de boucler, ou de faire une requete et de boucler sur des class...

    quel est pour moi l'interet (a part, c sure la clarté du code...) ?
    habituellement, je fonctionne pas mal avec les fonctions...

    Si vous pouvez m'eclairer ca m'avancerai beaucoup !
    merci beaucoup d'avance !!

  2. #2
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Même si je n'ai jamais codé en objet, je suis convaincu de l'intéret (et vais bientôt creuser la question) ; les mots-clé sont pour moi : réutilisabilité et maintenabilité.

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 472
    Points : 4 673
    Points
    4 673
    Par défaut
    les premiers arguments qui me viennent a l'esprit :

    - securite : c'est quoi qui gere les attributs de ta classe (public, private, protected) et les methodes
    => tu fais tes getters/setters (comme ca t'es sur que l'attribut recoit bien le bon type de donnees, et la renvoie bien)

    - lisibilite du code : c'est sur qu'au debut, c'est un peut complique a s'y retrouver, mais apres c'est tellement plus rapide/facile

    - maintenabilite du code (comme dit plus haut) : autant pour toi que pour ceux qui reprendront ton code dans le futur.
    par exemple, si t'as bien code la classe "client", le developpeur suivant, sans meme savoir comment t'as fait fera : $client->getName(); et hop, il aura le nom (c'est un exemple bien sur)

    - la rapidite : une fois tes classes crees, c'est du gateau (cf exemple au dessus)

    voila les principaux qui me passent par la tete...
    apres, pour l'interet, ca se verra surtout avec les mvc (model vue controller)
    si c'est pour un site vitrine, c'est peut etre pas la peine

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Même si je n'ai jamais codé en objet, je suis convaincu de l'intéret (et vais bientôt creuser la question) ; les mots-clé sont pour moi : réutilisabilité et maintenabilité.
    Effectivement c 2 mots la me parlent tout de suite !!!
    Comme le rajoute aussi Doksuri, effectivement, comme ça ca parait un peu flou, mais je pense que c'est en utilisant que je me rendrai vraiment compte !
    mais dejà, betement, j'y vois un pue plus clair...
    meme si le net manque d'exemples concrets qui me permettrai de mettr vraiment des solutions sur ce que j'ai a faire, je pense que je vais me tenter
    Ce n'est pas un site vitrine, donc, je peux tester Doksuri

    et en plus si, comme le dit vorace, ca donne la classe alors...

    je laisse le message encore ouvert, pour avoir la possibilité d'avoir d'autres avis !
    merci dejà a vous 3 !

  5. #5
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Je rajouterais aussi que Php tend à être de plus en plus Objet, bien que la plupart du temps Php propose à la fois un objet (mode Objet) et la fonction correspondante (mode procédural).

    Donc se mettre à la POO le plus tôt possible est à mon sens la meilleurs chose à faire ne serait-ce que pour profiter au mieux se que propose le langage, mais aussi ça permet de progresser, ce qui est bien plus intéressant que le projet en lui même, pour soit même.


    Puis de toute manière, tous les projets Open Source, récents ou anciens mais qui évoluent bien, les plus intéressants en somme, sont Objets.
    On risque donc de ne pas faire le bon choix si on est amener à en exploiter un, ou alors on ne parviendra pas à l'exploiter au mieux.

    Même pire, on risque de mettre de coté un projet Open source qui répond pourtant tout ou en partie de ce qu'on envisage de faire, et créer de A à Z le projet, et ça en mode procédural.


    Donc même si on fait un petit projet, le faire Objet (ou en partie) sera toujours utile, une expérience supplémentaire.


    A l'inverse, s'obstiner à faire du procédural, on stagne, voir même on recule.


    Pour ma part, je ne vois plus grand intérêt de faire du procédural.
    C'est mon avis bien sûr.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Je suis bien d'accord avec toi RunCodePhp !
    Ca fait un bout de temps que j'en entends parler, et puis pas trop le temps de m'y mettre !

    du coup la je developpe un projet perso, et j'en profite !
    j'avance doucement... mais j'ai l'impression de revenir tout au debut qd j'etais obligé de faire 45 minutes de recherche avant d'ecrire 2 lignes ! c frustrant !
    mais je suis convaincu que c'est ce vers quoi je dois aller...

    merci pour ton aide
    d'ailleurs j'ai posté un autre message au sujet de la poo et de la bdd, des boucles etc... si tu as un solution
    c'est là http://www.developpez.net/forums/d11...e/#post6428539

    merci encore !

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Même si je n'ai jamais codé en objet
    Pas tout-à-fait vrai, car à l'automne dernier, j'ai suivi un stage sur le framework Zend ; c'était très bien, on code en objet, et pour la maintenabilité, le lisibilité et la réutilisabilité, c'est le nec plus ultra. Mais justement, pour être capable d'appliquer ce qu'on m'a montré, je compte d'abord apprendre la POO standard (avec PHP) (car même si j'ai une petite connaissance qui permet de comprendre le code, elle ne suffit pas pour coder).(Ici le forum qui y est consacré)

  8. #8
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 387
    Points
    9 387
    Par défaut
    Il y a un autre terme qu'on peut associer à la POO qui n'a pas été cité : la modularité

    Exemple bateau : on a une class qui n'implémente pas tout ce que l'on souhaite mais qu'on ne peut modifier (nah nah cherchez pas pourquoi...), il suffit de faire une seconde class qui hérite de la première et d'y rajouter nos méthodes.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par transgohan Voir le message
    Il y a un autre terme qu'on peut associer à la POO qui n'a pas été cité : la modularité

    Exemple bateau : on a une class qui n'implémente pas tout ce que l'on souhaite mais qu'on ne peut modifier (nah nah cherchez pas pourquoi...), il suffit de faire une seconde class qui hérite de la première et d'y rajouter nos méthodes.
    comme c plus clair dit comme ça !! la théorie de certains cours, tutoriels y gagnerait beaucoup
    merci de ton aide !

  10. #10
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    Salut,

    Pour ma part je code tout le temps en objet et le gain de temps et incomparable. Quand tu penses objet, tu penses factorisation c'est à dire comment traiter un besoin d'une manière général et abouti qui sera facilement modulable et maintenable dans le cas d'une évolution de la demande.

    Je m'explique, au début tu vas certainement passer du temps à identifier selon les besoins les classes que tu peux élaborer. Ensuite arrivera le moment de les créer et de s'habituer à les utiliser.

    Mais ce temps pris sera très vite gagner par la suite. Une fois tes premières versions créées, tu pourra aisément les peaufiner, les adapter à d'autres besoins.

    Par exemple : j'ai une classe pour la gestion de base de donnée, pour la session, pour l'envoi de mail, la gestion des formulaires, la gestion de la langue, la gestion d'un compte utilisateur, de génération de graphique (en flash, en html5), gestion de géolocalisation... etc

    Enfin, selon les besoins du projet tu n'as plus qu'à piocher dans tes classes et tu peux avancer très rapidement. A la manière de briques indépendantes que tu empiles pour former un tout.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/12/2007, 13h46
  2. [MySQL] A quoi servent les réferences entre les tables??
    Par Alain15 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/02/2006, 16h19
  3. A quoi servent les index dans une BDD ?
    Par Melvine dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 25/10/2005, 12h14
  4. [CR 10] A quoi servent les Templates Fields ?
    Par caviar dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 10/11/2004, 10h52
  5. [C#] A quoi servent les interfaces???
    Par sof_nns dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/10/2004, 20h51

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