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] quels objets créer ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 61
    Points : 47
    Points
    47
    Par défaut [POO] quels objets créer ?
    Bonjour, je fait un projet qui vise à refaire le site de mon école. Pour cela nous aimerions faire quelque chose de bien structuré, facile à maintenir pour les années futures. Nous avons donc opté pour faire du php objet. Mais voilà je me demande bien quels sont les objets qui sont généralement crées lors de la programmation web. Je vois bien un objet pour la communication avec la base de donnée, un objet pour les mails, un pour l'authentification, mais à part ca, mystère ... Au niveau de l'architecture de la page, est-ce qu'il faut créer des objets, je dis peut-être n'importe quoi, mais faut-il créer un objet page, un objet menu, un objet tableau, ...
    Bref si vous avez un document qui explique ca bien, parce que moi j'ai juste trouvé des trucs qui expliquent comment faire des classes en PHP mais rien de concret sur quelles classes sont usuellement utiles.
    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Salut,

    Effectivement on peut se poser la question de créer des objets pour gérer l'aspect graphiques de l'application.

    Sauf que c'est un boulot monstre. De plus ce n'est pas sa qui te permettra, je pense de maintenir facilement ton application dans le temps.
    Car pour peu que ce soit pas correctement modélisé ben sa devient plus un goulet qu'une aide.

    Personnelement je préfère modéliser correctement mon apllication au point de vue donnée, c'est je pense bien plus interessant.

    Pour en revenir aux objets orientés graphiques, essaie juste d'imaginer le travail qu'il te faudrait pour gérer un <table> et tout les parametre qu'il peut prendre. Pense qux styles ausx evenements aux propriétés de chque balise, j'en passe et des meilleurs.

    Ceci dit de tels objets pour aider à créer des applications qui soit multi navigateurs en gérant en interne les possibilités et impossibilités de chaque navigateurs.

    Mais bon... J'attends de voir.

    Bye

  3. #3
    Invité
    Invité(e)
    Par défaut


    perso ce que je fais pour générer les pages c'est créer un objet "vue" qui se connecte à un systeme de templates (qui, lui, me permet d'ajouter dynamiquement des elements à mon document, notamment des champs de formulaires, avec des methodes tres simples d'utilisation).

    j'ai une classe "Vue" generale qui gere ce qui est commun à toutes les pages (le menu, les header, etc.)

    puis j'ai une classe "Vue" par rubrique de mon site, qui étend la "Vue" generale. par exemple la VueForums appelle les fonctions de sa classe mère pour les headers et le menu, et s'occupe quant à elle d'appeler le systeme de templates pour les affichages specifiques au forum 8)

    voili voilou

  4. #4
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Salut !

    Pourrais je savoir quel système tu utilises ?

    Car l'expérience que j'ai eu avec SMARTY fut bien fastidieuse...

    Bye

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 331
    Points : 15 674
    Points
    15 674
    Par défaut
    ePoX, tu peux développer quelque chose de correct sans template et en utilisant MVC :
    http://www.developpez.net/forums/viewtopic.php?t=416264

    et pour des exemple des objets que j'utilise, lis à partir de mon message là :
    http://www.developpez.net/forums/vie...352792#2352792

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Salut mathieu !

    Je vais regarder cela de plus près, mais je reste tout de même convaincu que la création de tels système reste très longue et je pense plutot complexe, non ?

    En tout cas merci pour ces post que je lirais avec attention

    Bye

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    tout depend de l'architecture que tu veux avoir.

    Par exemple, je decoupe mes applications en modules.
    Pour chacun d'entre eux, j'ai une classe "controleur" qui reçoit les demandes d'actions que lui transmet l'index du module qui est la page vers laquelle tout est dirigé.

    Ces controleurs manipulent mes "objets métiers" qui sont des mappings objet de mes tables (en gros).

    Pour l'affichage, j'utilise smarty pour mes templates auquel j'ai rajouté quelques fonctions maisons.

    A coté de ca j'ai mon framework php ou j'ai des classes qui me permettent de manipuler des dossiers, des images, de faire ma connection a la base .....

  8. #8
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Salut siddh,

    Quand je demande si c'est complexe, je parle bien de la création d'un systme type smarty, pas de son intégration.

    Ce serait tout de même un comble que d'intégrer de tels solution soit aussi complexe que de la créer.

    Car pour en revenir à la question de bruckel, lui ce demande si il doit creér des objets pour gérer ces tableau, menu ect Un framework orienté vue.

    Fin sinon sur le modèle MVC on est bien d'accord c'est un système très performant.

    Après sa s'intègre comme on veut.
    Actuellment mon système, rudimentaire fonctionne bien et reste assez polyvalent pour s'utiliser de site en site.
    Pour infos je me contente d'un framework orienté donné(le mapping dont tu parles), de ma bd associé, et d'un controleur très rudimentaire sous la forme d'un switch(). La vue n'est absolument pas gérée par des classes sauf pour la pagination.

    Car, à mon sens, la chose la plus importante qu'un système préconçu se doit de m'apporter c'est la polyvalence et le gain de temps.

    Bon ceci dit je suis pas totalement fermé, faut juste que je me renseigne.

    Voili voilou, bye

  9. #9
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    il a pas envie de créer un framework orienté vue, il se demande quels objets sont interressants a créer pour faire une appli oo en php
    C'est clair que je voit pas l'interet de faire un objet tableau.
    Y a deja array !
    Et faire une classe qui balance du tr td .... c'est pas terrible, surtout au regard du xhtml ^^.
    Les autres objets "graphiques" ben bof aussi.

    J'ai pas de classes graphiques moi, j'ai juste mes templates qui sont plus du xml que du xhtml en fait.

    Enfin la partie vue de mon appli c'est mes templates et mon framework js.

  10. #10
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    il a pas envie de créer un framework orienté vue, il se demande quels objets sont interressants a créer pour faire une appli oo en php
    Ben jme demande figure toi !

    est-ce qu'il faut créer des objets, je dis peut-être n'importe quoi, mais faut-il créer un objet page, un objet menu, un objet tableau, ...
    il parle de menu ect :/ je ne sais pas trop...

    C'est clair que je voit pas l'interet de faire un objet tableau.
    Y a deja array !
    La dessus je suis pas très d'accord avec toi !
    Personnelement je suis bien content d'avoir dans mes classes, certaines classes qui me servent à créer des listes...
    En faites si j'ai un objet Marque, qui represente une marque, j'y associe à tout les coups un une classe MarqueListe.

    Qui agit comme un array, en mieux, puisque dedans tu lui colles une methode comme "LitlesMarques". et apres tu as un truc comme sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $Marques = new Marquesliste();
    $Marques->LitlesMarques();
    for($i=0;$i<$Marques->count();$i++)
    {
    echo $Marques[$i]->Nom;
    }
    Clairement je trouve que c'est très très pratique.

    Enfin pour les objets "graphiques", si ils adapté le code pondu en fonction du navigateur je serait le premier à m'en servir, mais comme je le dis plus haut j'attends de voir !

    Bye

  11. #11
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 949
    Points : 730
    Points
    730
    Par défaut
    Ma reponse : tu verra!

    plus concretement : cela dependra de tes besoins...
    si tu fait juste de la presentation html... t'aura pas besoin de grand chose (je pense) apres si ton site mûri, que tu propose des doc extrait de bdd, des acces securisés...
    là ca va augmenter...

    juste un conseil : commence par faire un petit squelette baclé pour voir tes besoins, et apres lance toi réellement dasn le dev... ca marchera mieux je pense, d'autant plus que tu saura ce dont tu as besoin...

  12. #12
    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
    +3 hansaplast
    Fais ton site petit à petit, tu verras bien au moment venu si tu as besoin d'avoir une classe ou pas pour une partie de ton appli. C'est une mauvaise chose (pour moi) de tout définir à l'avance comment s'architecturera tout ton systeme...

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    tout depend de ce que tu veux faire, si tu pars sur "une application" ou un site.

    Perso quand c est un site, j'y vais tranquille, sinon je me fais un cahier des charges fonctionnel, et au moins les use cases, sequences et classes UML.

    Tout depend du projet

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 61
    Points : 47
    Points
    47
    Par défaut
    Merci beaucoup pour toutes vos réponse. Je vais regarder tout ca de plus près et proposer les différentes points de vus aux autres membres de mon projet.

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ePoX
    Pourrais je savoir quel système tu utilises ?
    la version actuelle de mon site s'affiche grâce à ModeliXe, et j'avoue que ça tourne plutot bien (meme si je me suis retrouvé limité sur certains points precis).

    mais c'etait la seule composante de mon site restant en PHP4. j'ai donc voulu passer ça aussi en PHP5 et j'ai donc trouvé MyTemplate de Firecortex, qui a l'air de plutot bien tourner en tests... c'est un "mini systeme de template" : il est tres simple (donc leger mais sans beaucoup de fonctionnalités) et en rajoutant 1 ou 2 methodes maison, ça correspond à mes besoins ... mais je ferai un rapport plus detaillé dans le thread des templates quand j'aurai fini la nouvelle version de mon site et qu'elle tournera en ligne

Discussions similaires

  1. [POO] Savoir quel objet de la page porte le focus
    Par florent-k dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2007, 10h14
  2. Test quel objet à ouvert un form
    Par francois78 dans le forum Access
    Réponses: 4
    Dernier message: 14/06/2005, 08h14
  3. Réponses: 3
    Dernier message: 19/05/2005, 10h46
  4. [VB.NET] Quel objet tableau pour une recherche indexée ???
    Par Kitano dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/09/2004, 09h38
  5. [Débutant] Quel objet dialogue choisir ???
    Par Walm dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/01/2004, 14h40

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