PROGRAMMATION ORIENTÉE OBJETS EN PHP

toniog1 Messages postés 11 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 13 décembre 2004 - 7 juin 2004 à 13:41
cs_yngwie Messages postés 5 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 10 avril 2007 - 27 mai 2007 à 23:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23451-programmation-orientee-objets-en-php

cs_yngwie Messages postés 5 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 10 avril 2007
27 mai 2007 à 23:57
PuLP la réutilisabilité d'un programme orienté objet est à des années lumières de ce que tu peux faire avec des fonctions ou des procédures. De +, la POO permet d'étendre les capacités d'un programme existant.

Les framework se doivent, par essence, d'être réutilisable et sont un très bon exemple (le meilleur ?) pour apprendre la POO.
Télécharge un bon framework PHP comme Prado (http://www.pradosoft.com/), lis la documentation, et utilise le. Tu comprendras ce que le mot réutilisable et extensible veut dire !

Une fois que tu sais comment fonctionne le framework, ouvre les fichiers de classe pour voir comment sont codées ces petites bêtes.

Enfin, lorsque tu verras plus clair dans tout ça tu pourras te lancer dans l'apprentissage des Design Pattern (et d'UML), le summum de l'objet.

3 ans après mon post, je persiste, l'objet est indispensable pour devenir un réel développeur.
cs_PuLP Messages postés 16 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 26 mai 2007
26 mai 2007 à 22:01
J'ai du mal à comprendre l'interet de la POO moi.
Bon j'imagine que pour réellement saisir l'interet de la chose est de se retrouver face à une situation hardu, et que la POO offrirait une solution qui permettrait de s'en sortir plus simplement.

Disons que je distingue mal ce qui differencie l'utilisation des fonctions à celle d'une class contenant des fonctions, quand je lis les avantages dans ton article, ça correspond à ce que les fonctions apportent déjà, c'est a dire un code qu'on peux réutilisé dans tout nos programmes sans réécrire à chaque fois.
Donc j'arrive pas à comprendre, si c'est juste une question de "clarté" du code, ça limite un peu l'interet, à part si tu codes pour revendre ensuite, ça fera un code plus propre pour le client fort probablement.

Il n'y a t'il pas un réel autre interet, par exemple en terme de performance, est-ce qu'un programme en POO a un gain de performance ? j'ai jamais entendu cela, mais ça c'est ce que j'appellerai un véritable interet non-négligable pour nous qui sommes soucieux d'optimisé au mieux nos programmes.

En tout cas merci pour tes articles, je vais lire ça de plus près, j'ai un peu de mal à suivre en faite, j'ai du mal à percevoir cette fameuse "clarté" pour l'instant, mais bon c'est normal ;)
XoscBloodshed Messages postés 34 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 20 décembre 2004
8 nov. 2004 à 23:30
Merci :D !!
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
8 nov. 2004 à 21:49
Ohooh Bravissimo ;)

Mille Merci ;)
XoscBloodshed Messages postés 34 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 20 décembre 2004
24 juin 2004 à 17:11
Salut, excsuez-moi je susi pas venu plus tôt parceque je passais le brevet (bonne chance à tous)

J'ai rien à ajouter yngwie à très bien expliqué

merci à toi babid

J'étais débutant il y a peu, et donc je peux dire que je comprend mieux ce qui débute et que je sais que la plupart du temps les grand programmeur squi font des cours sur la POO c'est trop abstrait (et lourd ;)).

Moi j'ai essayé de viser à aider ceux qui débutent dans la POO.
cs_babid Messages postés 49 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 17 décembre 2008
24 juin 2004 à 14:19
Salut,

Je te remercie yngwie pour toutes ces précisions. Je me suis plus documenté sur la POO, et en effet, cette méthode de programmation apporte de nombreuses solutions à des projets que j'ai en cours.
Encore merci à XoscBloodshed, pour les liens dans son tuto, cela apporte plus de précision.
Si quelqu'un connaît d'autres liens sur des tutos de POO, n'hésitez pas à en faire profiter la communauté.

Bonne continuation.
@++
cs_yngwie Messages postés 5 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 10 avril 2007
24 juin 2004 à 11:42
babid, la POO permet tout d'abord d'écrire du code plus lisibles, plus rigoureux et réutilisables. Il y a des notions comme l'héritage simple (PHP, Java) ou multiple (C++, Python, Perl) que tu ne retrouves pas avec la programmation procédurale.

D'autre part, l'encapsulation des données est un concept important (attributs et méthodes privés, protégés, publics).

Enfin en PHP5, Java etc. il existe l'implémentation d'interface (le fameux "implements") qui existe pour remédier au fait que ces langages ne gèrent pas l'héritage multiple. Bon perso, je préfère laaaaaargement l'héritage multiple mais bon...

Ah oui, il existe également des concepts super important comme les classes amies, finales, abstraites, static etc.

Et j'oubliais le polymorphisme ad hoc, par sous-typage... bref, cours te documenter parce que la POO est très très riche.
cs_babid Messages postés 49 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 17 décembre 2008
17 juin 2004 à 09:12
Salut et grand BRAVO à toi XoscBloodshed !! ;-)

Vraiement super ce tuto, comme l'a dit tomiog1,
'je pense que c'est ce genre de source qui font avancé la prog....'
C'est clair, c'est vraiement bien expliqué et illustré. J'encourage tous les débutants et les novices de la POO à lire ce tuto.
Personnelement, j'avais plusieurs fois parcouru la toile pour trouver ce genre de tuto et à chaque fois je me suis casser les dents sur des explications complexes sans exemple.
Donc encore BRAVO ++

Petite question qui me chifonne : Quelles sont les différences entre la POO et les fonctions ???
En clair, je considère qu'une classe est une suite de méthode (fonction). ALors quel est l'avantage d'utiliser les classes plutôt que les fonctions, ca j'avoue que je ne trouve pas la différence !!! Ormis, que les classes s'éxécutent pus vite que les fonctions, et le fait de passer un objet d'une page à l'autre.

Voila, ben bon courage et bonne continuation
@++++

Babid
XoscBloodshed Messages postés 34 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 20 décembre 2004
8 juin 2004 à 08:29
Merci beaucoup, c'est cool pour ma première source/article !

@legaulois :
Tu peux traiter une requête SELECT en utilisant la méthode MySQL::requete() en l'utilisant de cette façon par exemple :
object->requete("SELECT * FROM membres WHERE age > '18'");
Et après tu récupère le résultat par la propriété MySQL::requete (hérité de la classe SGBD).

Avec la méthode SGBD::requete() on peut effectuer n'importe quel requète SQL sur n'importe quel SGBD, donc INSERT, DROP, CREATE, SELECT...
cs_legaulois Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 11 janvier 2006
7 juin 2004 à 17:03
ouai nikel, car je me suis lancé dans un gros projet, mais je savais que je devais dev avec des classes, mais je savais pas comment, grâce à toi, ce projet sera un peu moins difficile, thx.

Par contre, avec la class mysql, comment tu fais pour traiter une requete SELECT par exemple?
cs_legaulois Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 11 janvier 2006
7 juin 2004 à 17:03
ouai nikel, car je me suis lancé dans un gros projet, mais je savais que je devais dev avec des classes, mais je savais pas comment, grâce à toi, ce projet sera un peu moins difficile, thx.

Par contre, avec la class mysql, comment tu fais pour traiter une requete SELECT par exemple?
toniog1 Messages postés 11 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 13 décembre 2004
7 juin 2004 à 13:41
Merci beaucoup pour ce tuto,
je pense que c'est ce genre de source qui font avancé la prog....


Continue
Rejoignez-nous