Php en poo ou procédurale ?
24 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Php en poo ou procédurale ?
Bonjour,
Je suis en train de développer un site Internet d'annonces qui sont ajoutées via un partie administration (formulaires) par des personnes ayant un compte sur le site.
Je me pose la question, sachant que je n'ai pas tellement d'expérience en programmtion objet de savoir si la poo serait adaptée pour la gestion de ce type de site.
Les données des annonces seraient stockées dans une BD et les membres les rentreraient depuis un formulaire de leur espace réservé.
Mes données des annonces peuvent donc venir de 2 origines différentes (bd et formulaire). Comment gérer le constructeur des annonces dans ce cas ?
De plus si je créé un objet membre avec la méthode : ajouterAnnonce(a,b,c,d,...) qui ajoute une annonce dans la base pour le membre auquel s'applique la méthode, je dois créer un instance d'un objet membre qui comporte pas mal de données (nom, profession...) que je n'exploite pas forcément dans tous les cas...
Bref je suis un peu perdu...
Y'a t'il des pros de la poo ?
(en fonction de l'aide apportée : partenariats, échanges de services ... possibles
)
Je suis en train de développer un site Internet d'annonces qui sont ajoutées via un partie administration (formulaires) par des personnes ayant un compte sur le site.
Je me pose la question, sachant que je n'ai pas tellement d'expérience en programmtion objet de savoir si la poo serait adaptée pour la gestion de ce type de site.
Les données des annonces seraient stockées dans une BD et les membres les rentreraient depuis un formulaire de leur espace réservé.
Mes données des annonces peuvent donc venir de 2 origines différentes (bd et formulaire). Comment gérer le constructeur des annonces dans ce cas ?
De plus si je créé un objet membre avec la méthode : ajouterAnnonce(a,b,c,d,...) qui ajoute une annonce dans la base pour le membre auquel s'applique la méthode, je dois créer un instance d'un objet membre qui comporte pas mal de données (nom, profession...) que je n'exploite pas forcément dans tous les cas...
Bref je suis un peu perdu...
Y'a t'il des pros de la poo ?
(en fonction de l'aide apportée : partenariats, échanges de services ... possibles
euh...là c'est vraiment plus compliqué que ça.
"Je me pose la question, sachant que je n'ai pas tellement d'expérience en programmtion objet de savoir si la poo serait adaptée pour la gestion de ce type de site."
La réponse est clair : oui
tu t'en doutais !
La POO à l'avantage d'être réutilisable n'importe où et facilement, de plus elle sera facilement modifiable si l'on veux ajouter quelques options, etc.. Enfin tout est relatif bien entendu, il faut que la class soit à la base cohérente et bien écrite.
"Les données des annonces seraient stockées dans une BD et les membres les rentreraient depuis un formulaire de leur espace réservé.
Mes données des annonces peuvent donc venir de 2 origines différentes (bd et formulaire). Comment gérer le constructeur des annonces dans ce cas ?"
Non, tes données (d'après ce que tu dis) ne viennent pas de deux sources différentes ! Le formulaire permet d'insérer des données dans la base de données et la base de données donne les informations nécessaires pour l'affichage. Donc une seule possibilité pour ajouter des informations sur le site : le formulaire.
E D I T : oh fait...
Quel langage utilisé ?
Quel version du langage ?
"Je me pose la question, sachant que je n'ai pas tellement d'expérience en programmtion objet de savoir si la poo serait adaptée pour la gestion de ce type de site."
La réponse est clair : oui
La POO à l'avantage d'être réutilisable n'importe où et facilement, de plus elle sera facilement modifiable si l'on veux ajouter quelques options, etc.. Enfin tout est relatif bien entendu, il faut que la class soit à la base cohérente et bien écrite.
"Les données des annonces seraient stockées dans une BD et les membres les rentreraient depuis un formulaire de leur espace réservé.
Mes données des annonces peuvent donc venir de 2 origines différentes (bd et formulaire). Comment gérer le constructeur des annonces dans ce cas ?"
Non, tes données (d'après ce que tu dis) ne viennent pas de deux sources différentes ! Le formulaire permet d'insérer des données dans la base de données et la base de données donne les informations nécessaires pour l'affichage. Donc une seule possibilité pour ajouter des informations sur le site : le formulaire.
E D I T : oh fait...
Quel langage utilisé ?
Quel version du langage ?
Comme le titre l'indique c'est du php... en version 5 .
Ben en fait, quand je disais que mes données venait de 2 sources c'est si je créé un objet "Annonce" avec les données du formulaire avec une méthode pour l'insérer dans la base ( monAnnonce->insertBd() ) et un autre constructeur qui créé un objet "Annonce" avec les données récupérées dans la bd pour l'affichage sur le site...
Ou alors si c'est un objet membre qui applique la fonction membre->insertAnnonceBd("azeaze","azeaze",...) y'a des infos de l'objet membre qui ne me sont pas nécessaires. J'ai donc peur de ralentir l'execution du script...
thierry8 a écrit:Non, tes données (d'après ce que tu dis) ne viennent pas de deux sources différentes ! Le formulaire permet d'insérer des données dans la base de données et la base de données donne les informations nécessaires pour l'affichage. Donc une seule possibilité pour ajouter des informations sur le site : le formulaire.
Ben en fait, quand je disais que mes données venait de 2 sources c'est si je créé un objet "Annonce" avec les données du formulaire avec une méthode pour l'insérer dans la base ( monAnnonce->insertBd() ) et un autre constructeur qui créé un objet "Annonce" avec les données récupérées dans la bd pour l'affichage sur le site...
Ou alors si c'est un objet membre qui applique la fonction membre->insertAnnonceBd("azeaze","azeaze",...) y'a des infos de l'objet membre qui ne me sont pas nécessaires. J'ai donc peur de ralentir l'execution du script...
netsys a écrit:Comme le titre l'indique c'est du php... en version 5 .
Oups..en effet.
netsys a écrit:thierry8 a écrit:Non, tes données (d'après ce que tu dis) ne viennent pas de deux sources différentes ! Le formulaire permet d'insérer des données dans la base de données et la base de données donne les informations nécessaires pour l'affichage. Donc une seule possibilité pour ajouter des informations sur le site : le formulaire.
Ben en fait, quand je disais que mes données venait de 2 sources c'est si je créé un objet "Annonce" avec les données du formulaire avec une méthode pour l'insérer dans la base ( monAnnonce->insertBd() ) et un autre constructeur qui créé un objet "Annonce" avec les données récupérées dans la bd pour l'affichage sur le site...
Ou alors si c'est un objet membre qui applique la fonction membre->insertAnnonceBd("azeaze","azeaze",...) y'a des infos de l'objet membre qui ne me sont pas nécessaires. J'ai donc peur de ralentir l'execution du script...
Il faut bien créer (enfin il faut, on peut faire comme on veut hein !) une class, avec des méthodes différentes, en l'occurence une pour l'insertion et l'autre pour extraire les données nécessaires à l'affichage.
Je ne comprends pas bien ce que viennent faire les informations membres dans cette class ???
- haute-definition.info
- WRInaute occasionnel

- Messages: 127
- Inscription: Lun Nov 07, 2005 2:25
netsys a écrit:membre->insertAnnonceBd("azeaze","azeaze",...)
Cela me parait "conceptuellement" faux. Cela signifie que tu insère l’annonce dans le membre
Ok, donc comme ca c'est mieux monAnnonce->insertBd()
J'ai encore un petite question qui me travaille :
Si j'ai 2 gabarits de pages : Listing d'annonces et Fiche annonce
dans listing d'annoce je me retrouve avec un tableau d'objet annonce mais je ne vais pas exploiter dans mon listing toutes les infos des objets annonces qui seront affichées plutôt dans la fiche.
Ca me gene un peu de créer un objet dont je n'utiliserais pas toutes les données dans certains cas. Dois-je créer un objet annonceMini dans le cas du listing ?
Quel est le mieux pour ce type de projet ? poo ou procédurale ? :
- d'un point de vue conception
- d'un point de vue charge serveur et rapidité d'execution
J'ai encore un petite question qui me travaille :
Si j'ai 2 gabarits de pages : Listing d'annonces et Fiche annonce
dans listing d'annoce je me retrouve avec un tableau d'objet annonce mais je ne vais pas exploiter dans mon listing toutes les infos des objets annonces qui seront affichées plutôt dans la fiche.
Ca me gene un peu de créer un objet dont je n'utiliserais pas toutes les données dans certains cas. Dois-je créer un objet annonceMini dans le cas du listing ?
Quel est le mieux pour ce type de projet ? poo ou procédurale ? :
- d'un point de vue conception
- d'un point de vue charge serveur et rapidité d'execution
- haute-definition.info
- WRInaute occasionnel

- Messages: 127
- Inscription: Lun Nov 07, 2005 2:25
Je dirais plutôt :
$listing->insertAnnonce(...)
Et pour 2 pages, tu utiliserais :
Pour le listing :
$listing->Afficher( )
Pour la fiche :
$annonce->Afficher( )
Un projet comme celui-ci est faisable en procédurale. Je pense même que ca doit se coder plus rapidement en procédurale.
Mais en objet ton code sera plus évolutif, plus réutilisable... Au niveau de la charge du serveur, il ne doit pas y avoir beaucoup de différence.
$listing->insertAnnonce(...)
Et pour 2 pages, tu utiliserais :
Pour le listing :
$listing->Afficher( )
Pour la fiche :
$annonce->Afficher( )
Un projet comme celui-ci est faisable en procédurale. Je pense même que ca doit se coder plus rapidement en procédurale.
Mais en objet ton code sera plus évolutif, plus réutilisable... Au niveau de la charge du serveur, il ne doit pas y avoir beaucoup de différence.
haute-definition.info a écrit:Je dirais plutôt :
$listing->insertAnnonce(...)
insertAnnonce c'est pour la ajouter les l'annonce dans la BD.
je vois pas trop en quoi cela concerne un objet listing qui est plus significatif pour l'affichage. je peux très bien faire monAnnonce->insertBd() !?
haute-definition.info a écrit:Et pour 2 pages, tu utiliserais :
Pour le listing :
$listing->Afficher( )
Pour la fiche :
$annonce->Afficher( )
Concernant l'objet listing, ca décale juste le problème car listing est un objet contenant une liste d' (objets) annonces; Mais dans mon listing j'ai pas besoin de toute les données des objets Annonce...
- haute-definition.info
- WRInaute occasionnel

- Messages: 127
- Inscription: Lun Nov 07, 2005 2:25
Tu peux faire monAnnonce->insertBd.
Ce que je voulais dire, c’est que tes membres veulent ajouter leur annonce dans le listing, l’insertion dans la base c’est ton implémentation.
Tu n’es pas obligé d’avoir la liste d’annonces dans l’objet listing. Tu peux juste faire une requête pour récupérer les infos dont tu as besoin au moment de l‘affichage.
Ce que je voulais dire, c’est que tes membres veulent ajouter leur annonce dans le listing, l’insertion dans la base c’est ton implémentation.
Tu n’es pas obligé d’avoir la liste d’annonces dans l’objet listing. Tu peux juste faire une requête pour récupérer les infos dont tu as besoin au moment de l‘affichage.
-

Fab le Fou - WRInaute accro

- Messages: 1511
- Inscription: Jeu Déc 02, 2004 15:20
haute-definition.info a écrit:Mais en objet ton code sera plus évolutif, plus réutilisable... Au niveau de la charge du serveur, il ne doit pas y avoir beaucoup de différence.
Effectivement, ce n'est qu'un choix de conception.
Cela peut par contre rendre plus intuitif l'utilisation du cache qui lui va jouer sur la charge serveur.
C'est l'utilisation de fonctions générant mon cache qui me donne envie de passe en POO depuis un bout de temps, puisqu'il m'oblige à penser en "objet".
J'en ai un peu fait en C++ par le passé, et j'avais vraiment trouvé ça très puissant...
Fab le Fou a écrit:J'en ai un peu fait en C++ par le passé, et j'avais vraiment trouvé ça très puissant...
C'est très puissant, il suffit juste de savoir ce servir de l'outil.
Mieux vaut rester en procédurale si l'on ne maîtrise pas la POO, du moins ces bases..
Sinon, cela peut effectivement tourner au désastre et la plus aucun gain, aussi bien en terme de fiabilité/rapidité, facilité de réexploitation, etc...
thierry8 a écrit:Mieux vaut rester en procédurale si l'on ne maîtrise pas la POO, du moins ces bases..
Sinon, cela peut effectivement tourner au désastre et la plus aucun gain, aussi bien en terme de fiabilité/rapidité, facilité de réexploitation, etc...
Sage conseil, surtout si le but est de mettre le site en production.
haute-definition.info a écrit:l’insertion dans la base c’est ton implémentation.
Oui mais autant utiliser l'objet et ses méthodes.
Bon ben du coup je ne sais toujours pas quelle implémentation, poo ou procédurale, utiliser
J'ai définie un mini cahier des charges avec les fonctionnalités
J'ai définie la charte graphique générale et de quelques gabarits.
J'en suis à choisir la manière d'implémenter la partie d'administration pour les membres et l'exploitation des données sur le site. J'ai envie de faire les choses de manière propre (en terme de rapidité d'execution et de sécurité). J'ai étudié la poo mais de la à l'utiliser pour des projets comme celui que je voudrai faire, j'aurai pas mal de chose à apprendre.
Alors comme dit si je peux trouver quelqu'un qui puisse me donner des pistes et comme dit en fonction de l'aide apportée il y a possibilité de partenariats et d'échanges de services...
J'ai définie la charte graphique générale et de quelques gabarits.
J'en suis à choisir la manière d'implémenter la partie d'administration pour les membres et l'exploitation des données sur le site. J'ai envie de faire les choses de manière propre (en terme de rapidité d'execution et de sécurité). J'ai étudié la poo mais de la à l'utiliser pour des projets comme celui que je voudrai faire, j'aurai pas mal de chose à apprendre.
Alors comme dit si je peux trouver quelqu'un qui puisse me donner des pistes et comme dit en fonction de l'aide apportée il y a possibilité de partenariats et d'échanges de services...
24 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Le Dr Kai-Fu Lee peut travailler pour Google
- Google attaqué en justice
- Comment gérer simplement les sitemaps de plusieurs sites au même endroit
- Suggestions de requêtes dans Google News
- Une Google Dance annulée ?
- 101 manières d'obtenir des liens pour son site web
- Le détournement de page par redirection
- Formation Droit et Internet : enjeux juridiques d'un site web
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

le forum