8741 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

Bah moi je vais répondre simplement : parce que j'en vois pas l'intérêt d'une part et d'une autre parce que migrer 2 Mo de code de procédural à POO c'est long et j'ai franchement autre chose à faire de mes 8 heures de boulot...

Après, j'ai tenté la POO, j'ai même tenté de démarrer par là à vrai dire... et j'ai vite, très vite oublié. Je me serais acharnée sans doute sur des projets petits, mais sur un gros je trouve ça ingérable.

Alors l'intérêt qu'on me sort :
concision :
--- je vois pas en quoi inventaire>detruire('id') est plus concis que del_objet($id).
--- Je vois pas en quoi :
include_once("carac_perso.php");include_once("carac_pnj.php");
$degat=$pj['force']-$pnj['end'];


est plus long à utiliser et moins compréhensible que :

include_once("class_personnage.php");
var pj = new pj($idPj);
var pnj = new pnj($id_def);
$degat=$pj->force - $pnj->end;


(voire pire, les PNJ et les PJ ayant des trucs en commun, on devrait avoir une classe "personnage" au-dessus de ces deux-là ^^)

Modularité :
Ouais, bah mon tchat, j'ai trois fichiers php à transférer (1 pour l'affichage "tchat_aff.php", 1 pour la gestion des données "tchat_insert.php", 1 pour le jquery "tchat.js"), une structure de table à créer et une ligne "<?php include_once ('tchat.php'); ?>" à insérer là où je veux dans l'html... Je vois pas en quoi la POO pourrait optimiser mon travail...

Maintenance :
à partir du moment où on use des fonctions perso, je vois vraiment pas ce que ça apporte de plus... (ça fait 7 ans que je maintiens et ajoute des modules à un véritable programme en php ^^)


Après, je ne doute pas une seule seconde avoir loupé un truc, si j'en crois tous les pros qui me disent que mon système est merdique... mais à vrai dire pour l'instant, j'ai pas encore capté quoi... (et je vous assure que je fais des efforts, j'ai déjà lu une quinzaine de topics dans ce genre + des tutoriels en tout genre...)


edit : pour ce qui est du MVC, j'ai pas attendu de passer en POO et je vois à nouveau pas en quoi la POO pourrait m'y aider Smiley ohwell
Modifié par Lothindil (08 Aug 2012 - 17:29)
C'est sûr que la POO c'est pourri parce que $object->delete() c'est moins concis que del_obj().

Moi je trouve que la POO c'est bien meilleur que le procédurale parce que $obj->del() c'est bien plus concis que delete_an_object().

Bref, topic parti en vrille, je sais pas si il reste quelque chose à sauver.
Modifié par jb_gfx (09 Aug 2012 - 03:05)
Donc en faite pour résumer , je pensse que la philosophie de la POO est la meilleurs et je trouve qu'on peux l'adapater facilement avec du procédurale.

Pour avoir un code concis le mieux c'est encore les commantaires.

Allez j'arrête de poster dans se topic trés intéréssant Smiley sweatdrop
Modifié par perfectionniste (09 Aug 2012 - 03:51)
Lothindil a écrit :

à partir du moment où on use des fonctions perso, je vois vraiment pas ce que ça apporte de plus... (ça fait 7 ans que je maintiens et ajoute des modules à un véritable programme en php ^^)

Je pense que c'est là qu'est la clé du mystère, si tu avais dit "ça fait 7 ans que nous maintenons et ajoutons des modules à des véritables programmes en php.

La POO n'est à mon avis pas fondamentalement meilleure en soi (sinon ce genre de sujet n'existerait pas, tout le monde ne ferait que de la POO et c'est tout, en peu comme on ne voit pas de sujet "préférez vous les boucles ou les goto ?"), simplement plus adaptée à certaines situations comme le travail en groupe et la réutilisation de code dans plusieurs projets.
Florian_R a écrit :
C'est copyrighté, ou on peux la réutiliser en société?

http://creativecommons.org/licenses/by-nd/3.0/fr/ Smiley smile
Florian_R a écrit :
Il y a juste une question qui me taraude, pourquoi tout le monde parle systématiquement de classes, alors qu'on peux faire de la POO sans (quelqu'un a dit Javascript) ?

Effectivement. La plupart des tutoriels sur "la POO en JS" est d'une qualité déplorable et laisse entendre que la POO c'est 1. les classes et 2. l'héritage d'implémentation.
jb_gfx a écrit :
C'est sûr que la POO c'est pourri parce que $object-&gt;delete() c'est moins concis que del_obj().

Moi je trouve que la POO c'est bien meilleur que le procédurale parce que $obj-&gt;del() c'est bien plus concis que delete_an_object().

Bref, topic parti en vrille, je sais pas si il reste quelque chose à sauver.

Au risque d'insister lourdement, je pense que le problème est fortement lié à la piètre qualité des ressources (en ligne + bouquins + formations) sur le sujet. La médiocrité est hélas un système qui s'autoalimente.

Pour répondre à Lothindil : la POO, c'est un peu plus compliqué que remplacer "$degat=$pj['force']-$pnj['end'];" par "$degat=$pj->force - $pnj->end;". Je comprends que tu n'aies jamais trouvé d'explication claire sur ce que c'est exactement, mais il faut faire preuve d'ouverture d'esprit et accepter le fait que les choses que l'on ne connait pas sont un peu plus riches que ce que l'on est prêt à imaginer. Mais encore une fois je ne te blâme pas et comprends très bien que les paradigmes que tu utilises te suffisent.
Modifié par Julien Royer (09 Aug 2012 - 11:41)
Florian_R a écrit :

Il y a juste une question qui me taraude, pourquoi tout le monde parle systématiquement de classes, alors qu'on peux faire de la POO sans (quelqu'un a dit Javascript) ?


Parce qu'on est dans un topic qui parle de PHP.

Et on peut aussi faire des classes sans objets. Smiley langue
Modifié par jb_gfx (09 Aug 2012 - 17:07)
Julien Royer a écrit :
Pour répondre à Lothindil : la POO, c'est un peu plus compliqué que remplacer &quot;$degat=$pj['force']-$pnj['end'];&quot; par &quot;$degat=$pj-&gt;force - $pnj-&gt;end;&quot;. Je comprends que tu n'aies jamais trouvé d'explication claire sur ce que c'est exactement, mais il faut faire preuve d'ouverture d'esprit et accepter le fait que les choses que l'on ne connait pas sont un peu plus riches que ce que l'on est prêt à imaginer. Mais encore une fois je ne te blâme pas et comprends très bien que les paradigmes que tu utilises te suffisent.

moi je veux bien... J'ai des bouquins sur le php à la maison qui utilisent l'orienté objet. (PHP 5 entre autre; un bouquin pour améliorer la performance, un autre sur les algorythmes; et une petite dizaine d'autres; tous fait par des éditions universitaires dont Eyrolles)... C'est pas faute que j'essaye pas donc.

Mais je vois pas en quoi la POO peut m'aider par rapport à mon organisation personnelle en PHP. Alors peut-être que la clé est là et que ce que je crée n'est en réalité pas du procédural, ni de l'orienté objet mais un truc louche quelque part entre les deux ^^

Je pense par exemple à l'utilisation de fichier que j'include pour avoir les carac du PJ et des PNJ qui ressemblent un peu dans ce que j'en ai compris à une classe d'objet. Ou encore au fait que je sépare mes fonctions en différents modules dans différents fichiers et que je leur donne toujours un nom en rapport avec leur utilisation (objet_affiche() pour afficher le skin et le nom d'un objet; skill_affiche() pour l'affichage du skill,... La première étant dans "fct.objet.php" et la seconde dans "fct.skill.php" Smiley murf )

Après c'est sûr que je suis seule à bosser sur mes projets -enfin pour la partie programmation- (oui, j'en ai plusieurs, 1 qui existe depuis 7 ans, l'autre en création) et que ça change certainement la manière d'organiser le travail... Ma technique était peut-être très bien adaptée à ma manière de travailler et à ma situation; la POO pure plus adaptée à d'autres projets; le procédural classique pour d'autres projets ^^



Enfin voilà... Après, faudrait m'y replonger, mais y a pas des ressources claires et fiables pour la POO en PHP ? Vu que ce qui semble ressortir du "débat" c'est l'absence de ressources valables...
Modifié par Lothindil (09 Aug 2012 - 13:52)
Lothindil a écrit :

Enfin voilà... Après, faudrait m'y replonger, mais y a pas des ressources claires et fiables pour la POO en PHP ? Vu que ce qui semble ressortir du &quot;débat&quot; c'est l'absence de ressources valables...


J'avais trouvé ce bouquin pas mal : http://www.editions-eyrolles.com/Livre/9782212128062/la-programmation-orientee-objet

Le plus difficile quand on est habitué à codé en procédural c'est d'arrêter de s'y référer en permanence quand on se met à l'objet. Et je parle en connaissance de cause. Smiley langue

@Julien tu as peut être des ressources à proposer de ton coté ?
Modifié par jb_gfx (09 Aug 2012 - 20:23)
Bah ouais, mais c'est pas forcément simple quand tu dois maintenir et continuer à travailler sur un programme en procédural pendant que tu apprends la POO et que tu transformes ton site en procédural.

(faut comprendre que mon programme étant un jeu en production, avec des joueurs, je suis obligée de sortir des nouveautés assez fréquentes et donc je ne peux pas faire une pause de 8 mois le temps de faire l'apprentissage/transformation; Si je passe en POO, je suis obligée de continuer à travailler sur les 2 types de programmation en parallèle, ce qui me décourage un peu, faut bien l'avouer ^^)
Je pensais convertir mes modules les uns après les autres au fur et à mesure que je travaille et créer directement les nouveaux en POO...

D'ailleurs, si vous avez des idées, des techniques, des ressources sur comment convertir intelligemment sans reprendre tout le code (je veux dire sans devoir réinventer tout le code) du code spaghetti/procédural en orienté objet, je suis preneuse...
Modifié par Lothindil (10 Aug 2012 - 11:28)
Oui et puis tu peux très bien faire un programme majoritairement procédural avec juste tes résultats pdo sous forme d'objets, au final ça fait comme des tableaux, tu remplace juste les crochets par une flèche...
Tu peux aussi récupérer tes résultats depuis PDO sous forme de tableaux. Ça change pas grand chose. Mais c'était pas ça la question sur PDO. Smiley smile
Modifié par jb_gfx (10 Aug 2012 - 20:02)
Oui pardon, j'avais mal lu, j'avais lu " Si je passe en PDO, je suis obligée de continuer à travailler sur les 2 types de programmation en parallèle", c'est pour ça que je ne comprenais pas bien le problème ^^
Cette conversation remonte au mois de juillet 2012...
Donc, est-ce que je peux continuer ?
Je vais tenter le coup !
Messieurs qui avez discerté sur le sujet de la POO accepteriez-vous de vous pencher sur le petit problème qu'un débutant se pose ?
En l'occurence, il s'agit pour moi d'écrire un programme en php poo présentant les conjugaisons des verbes en français :être, avoir, ler groupe, 2ème groupe, irréguliers...etc...
J'ai pensé que les objets seraient les verbes, puis par filiation les modes, càd :
indicatif, impératif,subjonctif,conditionnel...
Les objets étant définis comme je le dis, est-ce que cela vous paraît bon ?
Puis, les méthodes, ces objets verbes et modes peuvent devenir des temps:
présent, passé,futur...etc...
et ces temps peuvent eux-mêmes devenir première personne (je), deuxième personne (tu) etc...
Est-ce toujours bon pour écrire un programme php poo...?
Merci de vos critiques et remarques à venir. Smiley murf
Pages :