POO vs PDO

Résolu/Fermé
glory mack - Modifié par glory mack le 28/09/2010 à 18:15
 azer - 28 sept. 2010 à 19:21
Bonjour à tous !

je voudrais abordais un sujet concernant le développeur de page web, mon sujet fait référence au langage php,
voilà ça fait maintenant un bon moment que je code en php en procédural, mais il se trouve qu'avec l'évolution du langage, déjà en version 5 du php le langage a plus tendance de se pencher du cotée orienté objet (POO),

j'ai parcouru certain forum en vue d'avoir un aperçu du langage,

Et là ma question relève sur ce point : Quelle avantage d'apprendre la POO, en quoi est - il plus performant que le procédural ?

Est ce qu'un code solide et fiable est mieux écrit en OO qu'en PDO ?

Si non s'il faut vraiment se lancer en OO quel site idéal m'orienterez vous ?

Merci et à tous et n'hésitez pas à faire connaitre votre avis.





4 réponses

Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
28 sept. 2010 à 18:56
Ah et j'oubliais: la légende raconte que procédural et objet sont aussi "performants" l'un que l'autre. En fait, ça dépend carrément du codeur et de ses compétences. Perso, j'me suis mit à la POO pour ne pas perdre le fil et ne pas être largué par les avancés technologiques, et je n'ai pas à le regretter: c'est bien plus simple pour moi, et ça me permet de faire des scripts encore plus poussés qu'en procédural.

2
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
28 sept. 2010 à 18:50
POO et PDO pour moi c'est pas du tout la même chose, POO est la méthode de programmation orientée objet, PDO est une extension de PHP construite d'après le modèle POO pour gérer les connexions à différentes BDD.

Donc techniquement, comprendre la POO avant de se mettre à PDO est une bonne idée.

Personnellement, je n'aurais pas de site à te recommander, mais creuse plutôt du côté des bouquins, certains sont vraiment biens. Après, rien ne vaut la pratique, qui sera le meilleur moyen pour toi d'apprendre.
0
et bien si je dois comprendre votre point de vue, ce que ce n'est pas ce Paradigme qui fait la performance du codeur, c'est plutôt sa façon à lui de coder, soit en PDO ou en POO qui compte , mais pourquoi c'est le OO qui tend plus à l'avancement au détriment du PDO,
0
Concrètement faire de l'objet par rapport au procédural:

Pas (ou peu de débogage): Le code découle de ce que l'on veut faire et pas l'inverse...c'est pas clair alors pour donner un exemple si dans ton code quelque chose ne marche pas en procédural il faut trouver où est l'erreur, en objet il n'y a pas d'erreur possible: l'analyse (uml,2tup) indique le code.

Persistence dans le temps et interchangeabilité:
Le modèle le plus connu est le MVC. Lorsque qu'un programme est dépassé en procédural il faut repartir de zéro ou rajouter des rustines pour le moindre ajout de fonctionnalité, avec l'objet il suffit de changer/ajouter les propriétés d'un objet suivant le contexte. On peut très bien utiliser l'héritage pour garder le fonctionnement ancien et le nouveau, suivant le contexte on utiliser l'objet antérieur ou le nouveau qui as les mêmes propriétés que l'ancien mais avec des variantes. De même le modèle MVC implique que chaque partie est interchangeable, mettons qu'un programme affiche quelque chose sous une forme, l'affichage et la chose à affichée étant séparée il est simple de pouvoir changer l'habillage ou même que le même objet donnant 'la chose' à afficher redirige vers autre chose qu'un écran, a contrario on change "la chose" à afficher en gardant le même visuel sans avoir à modifier la partie graphique.

Sécurité: Un programme est composé de plusieurs objet, par exemple comme un corps il a des bras, des jambes, un tronc... chaque fonction(appelée méthode en objet) est propre à sa partie(private) donc ne peut être utilisé comme faille pour accéder aux autres parties.


Bref pour internet, imaginons que tu fait un site avec beaucoup de fonctionnalités, le faire en objet permet d'utiliser le même programme (ou quasiment) tandis qu'en procédural il faut tout refaire. Effectivement l'objet PDO est un objet, donc on peut utiliser lobjet PDO pour se connecter à n'importe quelle type de base de données, il faut changer seulement l'un des attributs lors de la création(instantation) de l'objet. De même plutôt que de retaper plusieurs fois le code pour se connecter à une base mysql on utilises le même objet mais en changeant le login, mdp...etc Chaque instance ne se connectes qu'à une seule base, l'objet c'est le moule qui permet de le faire alors qu'en procédural il faut retaper les lignes qui se connectent, qui vérifient la connexion, qui renvoient les résultats...etc
0