Quand utiliser du PHP Objet ?
40 messages
• Page 3 sur 3 • 1, 2, 3
-

Leonick - WRInaute accro

- Messages: 19595
- Inscription: 8 Aoû 2004
pour être "in the move". Tout comme certains affichent le logo "xhtml valid", même quand ce n'est pas vrai.gcvoiron a écrit:Mais en PHP, par exemple, pour une page d'inscription, pourquoi utiliser de l'objet, si ce n'est pour avoir un code plus clair/structuré ? Y a t-il d'autres avantages ?
le code n'est pas vraiment plus clair, loin de là.
- tonguide
- WRInaute passionné

- Messages: 1407
- Inscription: 28 Nov 2003
Je prend mon exemple pour illustrer ...
J'ai une classe pour générer le formulaire selon certains critères. (en libre, tu dois avoir Zend_Form comme librairie qui fait ça)
ça permet au moins d'être uniforme la dessus.
En second, si il y a une liste (<SELECT>), je la centralise également dans une classe, et en troisième, si il y a une vérification (regex ou n'importe quoi, pour la validité des champs que rentre tes visiteurs), c'est également centralisé.
Exemple, je dois vérifier le prénom, j'ai limité à 10 caractères (c'est un exemple). J'ai un admin qui permet de modifier un compte, j'ai une zone membre pour éditer son compte, j'ai un admin pour ajouter un compte, et une zone membre pour ajouter un compte. Et puis, j'ai également une liste de contact où on peut entrer le prénom de son contact.
Seulement, j'ai systématiquement limité à 10 le prénom ... et je m'aperçois qu'il y a un prénom qui fait 25 caractères que je n'avais pas pensé ... J'ai pas de centralisé via une class, je me tape chaque fichier à modifer (ici, au moins 5, dans d'autres cas, ça peut être 100 ...), j'ai centralisé via une class, j'ai un seul fichier, une seul ligne à modifier.
Niveau maintenance, c'est énorme, niveau rapidité de dev, c'est énorme (et ça évite les erreurs de copier/coller), niveau travail en groupe, idem et j'en passe.
Donc j'aurai tendance à dire que l'objet est indispensable en dehors d'un tout petit projet qui n'a pas pour ambition d'évoluer.
J'ai une classe pour générer le formulaire selon certains critères. (en libre, tu dois avoir Zend_Form comme librairie qui fait ça)
ça permet au moins d'être uniforme la dessus.
En second, si il y a une liste (<SELECT>), je la centralise également dans une classe, et en troisième, si il y a une vérification (regex ou n'importe quoi, pour la validité des champs que rentre tes visiteurs), c'est également centralisé.
Exemple, je dois vérifier le prénom, j'ai limité à 10 caractères (c'est un exemple). J'ai un admin qui permet de modifier un compte, j'ai une zone membre pour éditer son compte, j'ai un admin pour ajouter un compte, et une zone membre pour ajouter un compte. Et puis, j'ai également une liste de contact où on peut entrer le prénom de son contact.
Seulement, j'ai systématiquement limité à 10 le prénom ... et je m'aperçois qu'il y a un prénom qui fait 25 caractères que je n'avais pas pensé ... J'ai pas de centralisé via une class, je me tape chaque fichier à modifer (ici, au moins 5, dans d'autres cas, ça peut être 100 ...), j'ai centralisé via une class, j'ai un seul fichier, une seul ligne à modifier.
Niveau maintenance, c'est énorme, niveau rapidité de dev, c'est énorme (et ça évite les erreurs de copier/coller), niveau travail en groupe, idem et j'en passe.
Donc j'aurai tendance à dire que l'objet est indispensable en dehors d'un tout petit projet qui n'a pas pour ambition d'évoluer.
-

Leonick - WRInaute accro

- Messages: 19595
- Inscription: 8 Aoû 2004
tout à fait.gcvoiron a écrit:Ok pour l'exemple. Mais si tout est déjà centralisé dans un fichier de fonctions... ça revient au même, non ?
Car trop de personnes comparent un développement anarchique avec la poo. Alors qu'en développement plus traditionnel, rien n'empêche de faire du code (sous forme de fonctions) qui soit réutilisable.
Tout comme on peut avoir du html 4 mieux structuré que du xhtml strict
- tonguide
- WRInaute passionné

- Messages: 1407
- Inscription: 28 Nov 2003
Les possibilités des fonctions sont très limités quand elles sont isolés (sans classe, c'est forcement isolé, sauf si on commence à mettre 45 global par fonction et/ou 145 paramètres), une classe c'est un ensemble de fonction (méthode) qui, pour faire simple, peuvent se renvoyer des données et qui ont des possibilités que n'a pas une simple fonction (et vraiment pas des moindres).
Mais là, c'est vraiment rentrer dans les détails, il y a suffisamment de tutoriel sur le thème pour t'expliquer. Chose que je ne veux pas faire, pour des raisons évidentes de timing
Leonick, tu sais réellement te servir de la POO ? parce que tes commentaires montrent vraiment l'opposé. Même si un code utilisant POO n'ai pas forcement mieux codé que du procédural, entre celui qui maitrise un minimum la POO, et celui qui maitrise que le procédural, il y a une différence véritablement énorme.
Evidemment, si tu te bases sur le fait que tout ceux qui prog en objet sont mauvais, on va pas allé loin. Mais ce n'est pas parce que tu n'as pas saisis l'intérêt que forcement, c'est une méthode à oublier, et surtout l'a déconseillé à ceux qui veulent s'en servir.
Mais là, c'est vraiment rentrer dans les détails, il y a suffisamment de tutoriel sur le thème pour t'expliquer. Chose que je ne veux pas faire, pour des raisons évidentes de timing
Leonick, tu sais réellement te servir de la POO ? parce que tes commentaires montrent vraiment l'opposé. Même si un code utilisant POO n'ai pas forcement mieux codé que du procédural, entre celui qui maitrise un minimum la POO, et celui qui maitrise que le procédural, il y a une différence véritablement énorme.
Evidemment, si tu te bases sur le fait que tout ceux qui prog en objet sont mauvais, on va pas allé loin. Mais ce n'est pas parce que tu n'as pas saisis l'intérêt que forcement, c'est une méthode à oublier, et surtout l'a déconseillé à ceux qui veulent s'en servir.
-

Leonick - WRInaute accro

- Messages: 19595
- Inscription: 8 Aoû 2004
non, mais le contraire non plus. Donc comparer un développement poo bien développé avec un mauvais développement procédural, c'est sur qu'on donne l'avantage à la poo.tonguide a écrit:si tu te bases sur le fait que tout ceux qui prog en objet sont mauvais,
Et puis bon, la poo en php ce n'est pas vraiment de la poo. Il manque énormément d'avantages (voir plus haut).
le php reste un langage non typé, donc déjà, ça limite beaucoup
- tonguide
- WRInaute passionné

- Messages: 1407
- Inscription: 28 Nov 2003
L'argument fatal, c'est le non-typé.
Et je n'ai pas dis que je compare un bon dev POO et un mauvais dev Procédural, mais au contraire, 2 bon dev POO/Procédural ... Et bah il est indéniable qu'un bon dev POO aura un code plus portable, plus maintenable, facilitant le travail d'équipe, facilitant la réutilisation de code (et je ne parle pas de structure ni de propreté) et faisant gagner du temps. (car tu ne peux pas automatiser autant avec des simples fonctions, comparé à une série de class/librairie etc.)
J'espère que sur ça, on est au moins d'accord ?
Et je n'ai pas dis que je compare un bon dev POO et un mauvais dev Procédural, mais au contraire, 2 bon dev POO/Procédural ... Et bah il est indéniable qu'un bon dev POO aura un code plus portable, plus maintenable, facilitant le travail d'équipe, facilitant la réutilisation de code (et je ne parle pas de structure ni de propreté) et faisant gagner du temps. (car tu ne peux pas automatiser autant avec des simples fonctions, comparé à une série de class/librairie etc.)
J'espère que sur ça, on est au moins d'accord ?
-

Leonick - WRInaute accro

- Messages: 19595
- Inscription: 8 Aoû 2004
oui.tonguide a écrit:J'espère que sur ça, on est au moins d'accord ?
Mais en fait, c'est vrai que si on se met à la poo avec php, on trouve ça super.
Mais quand on a commencé avec java, tout de suite ça parait moins intéressant. Car pour une bonne réutilisabilité du code, c'est vrai que le polymorphisme est très intéressant. Et avec un langage non typé, adieu.
la capture des exceptions aussi, mais elle existe aussi en php4, à un degré moindre, soit.
- tonguide
- WRInaute passionné

- Messages: 1407
- Inscription: 28 Nov 2003
la question étant PHP objet, j'y ai répondu
Et comme effectivement, je ne connais que PHP (ou croit connaitre
) et malheureusement pas Java, je juge sur ce que je peux juger.
C'est à dire, procédural / poo (qui était justement la question).
Et comme effectivement, je ne connais que PHP (ou croit connaitre
C'est à dire, procédural / poo (qui était justement la question).
- Nico92
- WRInaute discret

- Messages: 85
- Inscription: 1 Oct 2007
tonguide a écrit:la question étant PHP objet, j'y ai répondu![]()
Et comme effectivement, je ne connais que PHP (ou croit connaitre) et malheureusement pas Java, je juge sur ce que je peux juger.
C'est à dire, procédural / poo (qui était justement la question).
Justement, même si je suis d'accord avec toi sur les aspects positifs de l'OO, fais un peu de java ou de C#, et tu verras toute la dimension et la subtilité de l'OO. Comme tu dis, on croit connaitre, mais je t'assure qu'on en apprend presque tout les jours ^^
Pour vraiment tirer profit de l'OO, il faut modéliser.
Faire de l'objet pour de l'objet de sert strictement à rien. Au pire, c'est une façon de présenter son code, rien de plus.
J'ai rarement vu du code objet en php tirant partie de l'héritage (il faut dire que je n'ia pas bcp cherché ^^).
Par contre, c'est vrai que le non typage de PHP est un frain au dev en OO.
L'abscence de paquetage aussi (je préfère cette notion à celle d'espace de nom que j'ai décidément du mal à piger sans m'arracher les cheveux).
Mais ca, c'est comme pour tout, il faut y avoir gouté pour s'en rendre compte
40 messages
• Page 3 sur 3 • 1, 2, 3
Lectures recommandées sur ce thème :
- Apprendre le Php Objet
- PHP objet: questions!
- erreur syntaxe et objet attendu en php
- Afficher un nouvel objet a chaque chargement de la page PHP
- Quand utiliser Adsense sur un forum ?
- Utiliser du PHP sur megaupload
- utiliser les includes php
- Wordpress: Comment utiliser xmlrpc.php ??
- [résolu] Utiliser login.php de phpbb
- [php] Utiliser preg_replace sur requete $_SERVER
- Goggles, la recherche visuelle dans Androïd - 09-12-2009
- 10 bonnes raisons de ne pas utiliser Google Chrome - 03-09-2008
- Google API : guide de développement de l'API Google - 20-09-2002
- Intégrer un flux RSS sur son site - 28-06-2004
- Petit PR Noël : la chanson au Père Noël Google :-) - 23-12-2002
- Le Googolopoly : le Monopoly de Google - 16-04-2008
- Google Shared Stuff : un réseau social de plus pour Google - 21-09-2007
- Offre d'emploi Référenceur CDI dans le Rhône - Juin 2010 - 08-06-2010
Consultez la description détaillée des produits ou services de Google suivants : Google Shared Stuff, Google SketchUp
- Suggestion de mots
Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

