Excusez-moi, j'ai du mal


Pierrot25
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 446
Inscription: 17 Mar 2005

Excusez-moi, j'ai du mal

Message le Mer Avr 18, 2007 17:07

Ca fait longtemps que je développe en PHP4 (non objet) mon hébergeur ne suportait pas le PHP5. enfin c'est ce que je croyais mais finalement mon pack premium chez 1et1 me le permet. Donc j'ai envie de me mettre au PHP5 objet

Par contre, je n'arrive pas à voir l'intérêt d'un langage objet pour un site internent (ou peut etre que c'est pour mon cas vu que mon site est relativement petit).

Je vous explique. En gros j'ai des gens qui s'inscrivent à des sessions de cours. Une fois inscrit, je veux simplement qu'ils puissent avoir accès a un espace prive qui leur donne les coordonnées des personnes inscrites a la mêmes session qu'eux. C'est pas sorcier et je l'ai fait en PHP4.

Admettons que, pour la gloire, je veuille refaire l'équivalent en PHP5 object, qu'est ce que ca va m'apporter ?
Je vois pas comment m'y prendre en fait. Je veux bien faire une classe "session" et une classe "élève" avec qqn attributs et qq méthodes mais ou sera le gain?
Pendant mes cours j'ai travaille sur des langages objets mais pas sur des applis internet. Etant donne que les objets ne seront pas conserves en memoire d'uns page a l'autre je vois pas l'avantage (ou alors il faut que je passe mes objets d'une page a l'autre par variable de session par exemple?)

Bref, vous pouvez m'expliquer un peu (les tutos que j'ai trouvés montrent comment faire mais m'éclairent pas trop sur le but final).
Si vous aviez des petits bouts de code simple en PHP5 objet a me montrer ce serait cool.

pour simplifier, si j'ai un formulaire et que je veux le sauvegarder en BDD, il y a t il un interet a passer par un objet ?

si vous avez des explications ou des pistes, merci tout plein par avance !

La Chaise sauvage
WRInaute impliqué
WRInaute impliqué
 
Messages: 718
Inscription: 11 Avr 2005

Message le Jeu Avr 19, 2007 8:06

Je ne peux pas trop t'éclairer sur les avantages, hormis la lisibilité du code au final (mais si quelqu'un a plus d'infos, ça m'interesse aussi)

par contre pour

Code: Tout sélectionner
(ou alors il faut que je passe mes objets d'une page a l'autre par variable de session par exemple?)


il me semble que ça se passe avec serialize ...

zim3
WRInaute discret
WRInaute discret
 
Messages: 189
Inscription: 17 Mar 2007

Message le Jeu Avr 19, 2007 8:29

Salut,

En effet, beaucoup de Geek ne jurent que par l'objet...

Le "tout" objet, dans le monde professionnel, ça n'existe pas, et meme si (mais je ne le croirai jamais) certains disent programmer en tout objet, sans jamais un petit dérapage, je n'en vois aucunement l'intêret!

En revanche, on ne peux pas dire que l'objet n'est pas interressant, ou que la POO en php n'est pas interressante!

Par exemple, pour un formulaire PHP, si il n'y a qu'un formulaire qui envoie les données qqpart pour les enregistrer, aucun intéret.

Par contre, tu dis que tu veux gérer des gens qui s'inscrivent à des cours...

Alors la la POO peut être adapté, car tu va pouvoir gérer ces cours, ces heures de cours pour chacun des clients plus méthodiquement!

Disons que la POO dans une application, permet de laisser entendre une certaine maintenabilité et pereinité, clareté... de l'appli.

Des exemple il y en à partout, je te conseille cet excellent bouquin:
http://www.eyrolles.com/Informatique/Li ... avance.php

qui permet, comme son nom ne l'indique pas d'apprendre le php en partant de pas grand grand chose.
Il est très bien écrit, et te permettra d'étendre tes connaissances en PHP4.

L'introduction à la POO est vraiment vraiment très bien faite, et te donne les différences à chaque fois avec php4!


tom_pascal
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 291
Inscription: 17 Nov 2003

Message le Jeu Avr 19, 2007 8:57

Les principaux caractéristiques et avantages de la POO sont toujours les mêmes, quelquesoit le langage utilisé :
* encapsulation
* héritage
* polymorphisme
* réutilisabilité

Le dernier point sera particulièrement appréciable si tu dois gérer non plus un site mais plusieurs et que tu peux d'un site à l'autre réutiliser rapidement toute un module de gestion d'un type d'objet particulier (une classe d'abstraction à l'accès à la BDD par exemple, une classe de Template pour gérer rapidement et de la même façon le design des applis...)

Sans compter qu'en programmant proprement, cela permet d'obtenir une séparation plus marquée du code PHP et de la présentation HTML sans avoir forcément besoin d'utiliser des frameworks basés sur le modèle MVC.

Après, il est évident que les avantages de la programmation objet sont surtout sensibles et intéressants dans le cadre de projets relativement conséquents, plutôt orientés "applicatifs web ou intranet".

Pour un seul site simple vitrine de quelques pages statiques par exemple, il est plus difficile de trouver un réél intérêt à la POO.


Pierrot25
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 446
Inscription: 17 Mar 2005

Message le Jeu Avr 19, 2007 9:26

Merci a tous les trois pour vos éléments de réponse.

Pour répondre à tom_pascal, j'avais bien en tête les avantages de la POO mais je ne comprenais pas comment les appliquer à une appli web.

par exemple en java, je créais un objet je le modifiais avec des méthodes et finalement j'enregistrais les modifs.

Mais en web, si je crée un objet sur une page, en général, on le modifie sur une autre page et on l'enregistre sur une troisième (pour simplifier :p) et donc dans ce cas, je ne vois pas comment faire sinon en recréant un objet sur chaque page. D’où ma question quant à la simplicité et l'avantage d'utiliser la POO

Autre chose, en ce qui me concerne, je veux évidemment appliquer ca sur mon petit site perso mais c'est uniquement pour montrer à un éventuel futur employeur ce que je sais faire. Donc mon site est petit mais l'objectif est d'acquérir les principes pour bosser sur de plus gros sites.

Bref en tout cas merci encore a vous 3.
Pierrot


Pierrot25
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 446
Inscription: 17 Mar 2005

Message le Jeu Avr 19, 2007 9:26

Merci a tous les trois pour vos éléments de réponse.

Pour répondre à tom_pascal, j'avais bien en tête les avantages de la POO mais je ne comprenais pas comment les appliquer à une appli web.

par exemple en java, je créais un objet je le modifiais avec des méthodes et finalement j'enregistrais les modifs.

Mais en web, si je crée un objet sur une page, en général, on le modifie sur une autre page et on l'enregistre sur une troisième (pour simplifier :p) et donc dans ce cas, je ne vois pas comment faire sinon en recréant un objet sur chaque page. D’où ma question quant à la simplicité et l'avantage d'utiliser la POO

Autre chose, en ce qui me concerne, je veux évidemment appliquer ca sur mon petit site perso mais c'est uniquement pour montrer à un éventuel futur employeur ce que je sais faire. Donc mon site est petit mais l'objectif est d'acquérir les principes pour bosser sur de plus gros sites.

Bref en tout cas merci encore a vous 3.
Pierrot

zim3
WRInaute discret
WRInaute discret
 
Messages: 189
Inscription: 17 Mar 2007

Message le Jeu Avr 19, 2007 9:46

Pierrot25 a écrit:Mais en web, si je crée un objet sur une page, en général, on le modifie sur une autre page et on l'enregistre sur une troisième (pour simplifier :p) et donc dans ce cas, je ne vois pas comment faire sinon en recréant un objet sur chaque page. D’où ma question quant à la simplicité et l'avantage d'utiliser la POO


Il y a des solutions à cela:

Les sessions (qui n'est en fait qu'un cookie coté serveur), les cookies et la sérialization des données (tableaux par exemple) sont des solutions qui, combinés entre elles te permettent tout cela...

Et c'est la que je te réfere au livre que je t'ai conseillé si jamais tu souhaite te pencher dessus.


Pierrot25
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 446
Inscription: 17 Mar 2005

Message le Jeu Avr 19, 2007 9:48

zim3 a écrit:Et c'est la que je te réfere au livre que je t'ai conseillé si jamais tu souhaite te pencher dessus.


weps merci je vais y jeter un coup d'oeil ;)

zim3
WRInaute discret
WRInaute discret
 
Messages: 189
Inscription: 17 Mar 2007

Message le Jeu Avr 19, 2007 9:51

c'est pas de la pub, mais ce livre est vraiment "grand publique", ça deviens vite une bible, que l'ont soit un expert ou un débutant (avec les bases) en php.


Pierrot25
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 446
Inscription: 17 Mar 2005

Message le Jeu Avr 19, 2007 10:02

zim3 a écrit:c'est pas de la pub, mais ce livre est vraiment "grand publique", ça deviens vite une bible, que l'ont soit un expert ou un débutant (avec les bases) en php.


Non j'ai bien compris :lol: si tu connais un bon livre j'aime mieux que tu me le dises (même si c'est de la pub après tout)

en revanche, j'habite a Londres donc je vais essayer d'en trouver un en anglais (d'autant que le tien est "Définitivement indisponible").

ekay
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 7 Mar 2005

Message le Jeu Avr 19, 2007 10:27

Je pense sincerement que l'utilité de l'orienté objet comme de tout autre chose sur terre ne vient et n'est comprise que quand on en a besoin.

Il n'y a pratiquement rien que tu puissse faire en objet et que tu puisses pas faire en procédural.

seulement que la notion objet et la vision objet, est une question d'abstraction.

En exemple simple :

Supposons que tu aies a manipuler des cours et des etudiants.

Supposons que dans le dossier etudiant, t'aies pleins d'infos..
Ses coordonnées.. son cursus avant d'arriver, ses formations, ses experiences professionnelles etc..

physiquement parlant supposons que tu aies 4 tables :
etudiant , etudiant_peda, etudiant_formation, etudiant_exp_pro

faire abstraction de la construction et la structure de ta BDD, et travailler en objet, impliquerait a construire ton objet membe, avec ses differentes propriétés (attributs) et ses differentes fonctions (methodes).

Une fois ceci réalisé tu peux zapper completement ta bdd et l'oublier.. c'est tes objets que tu gere.. ca te permet une plus grande organisation, aisance et facilité d'utilisation.. et le jour ou tu as besoin de modifier ta base.. tu le craindra plus comme la peste.. car ca n'impliquera plus que des modifications mineures.. dans les methodes de ton objet..

ca a de tres grands avantages.. mais la transition n'est pas evidente.. et c'est surtout l'adoption du concept qui est plus chiante.. non pas son utilisation..

anyway.. je te souhaite une tres grosse merde ;)


xTrade
WRInaute passionné
WRInaute passionné
 
Messages: 2289
Inscription: 11 Déc 2006

Message le Jeu Avr 19, 2007 12:50

Pour aller dans le sens de ekay, lorsque la 1ère version de mon programme (cela ne me rajeunit pas!) était devenue un foutoir ingérable, j'ai tout repris à zéro en essayant d'utiliser au maximum la POO.
Au début ce fut fastidieux, mais maintenant je ne le regrette pas: si les objets sont bien conçus, la maintenance est plus que facilitée, les évolutions itou, la lecture idem...

J'essaie d'en intégrer petit à petir dans mes scripts php, et bien cela facilite pas mal la vie!

Ceci dit, je ne sais pas ce qu'est de la POO "pure".

ekay
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 7 Mar 2005

Message le Jeu Avr 19, 2007 12:58

de la poo pure c'est debile..
a mon avis :)

je pense qu'il faut tt utiliser a bon escient..

disons que j'utilise de la poo quand je peux regrouper sous un meme "concept" plusieurs fonctions..

pour des fonction "orphelines" et quoi qu'on en dise on en a besoin.. ca deviendrait carrément ingérable..

sachant egalement que mm php5 meme si bcp plus poussé que le 4, reste un peu jeune a ce niveau..

ex : on ne peut reellement detruire un objet.


xTrade
WRInaute passionné
WRInaute passionné
 
Messages: 2289
Inscription: 11 Déc 2006

Message le Jeu Avr 19, 2007 13:18

ekay a écrit:de la poo pure c'est debile..
a mon avis :)


mais c'est quoi de la POO pure??

ekay
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 7 Mar 2005

Message le Jeu Avr 19, 2007 13:21

bah de la programation objet pure..
0 procédural..

Excusez-moi, j'ai du mal

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité