POO, dois-je m'y mettre ?

Résolu
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009 - 13 nov. 2008 à 05:18
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009 - 13 nov. 2008 à 15:05
Bonjour,

Alors voila, ça fait quelques temps que je code en PHP mais je n'ai encore à ce jour, utilisé de la Programmation Orientée Objet.

Quelles en sont les avantages principaux?
Est-ce que l'avenir sera du genre: tout doit être du POO?
Comment me convaincre de m'y mettre?

Toutes ces questions me taraudent depuis un moment, et je n'arrive pas à me décider. Pourriez-vous, svp, m'éclairer sur le sujet?

D'avance merci.

Cordialement

2 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
13 nov. 2008 à 12:04
Salut,

C'est une bonne question que tu poses là, et tu as raison de t'interroger sur ce point. La réponse est pour moi évidente, aussi je vais tenter de te faire comprendre quelques avantages.

PHP5 est très très orienté Objet, et permet de faire bien plus de choses en POO que PHP4 (qui n'est plus développé depuis août dernier, est-il besoin de le rappeler)
Le développement Objet permet de concevoir ses applications différemment, en considérant des objets, dotés de propriétés, qui intéragissent les uns avec les autresgrâce à leurs méthodes. Le point de vue est donc totalement différent. Cela permet entre autres d'éclater le code dans des objets (plus précisément des classes, les objets étant des instances des classes). Cet éclatement à un objectif : spécialiser au maximum chaque portion de code, ce qui évite d'avoir des redondances, augmente la maintenabilité et l'évolutivité.
PHP5 intègre des interfaces et des classes abstraites, ce que ne faisait pas PHP4.
Une interface est en quelque sorte un "contrat" entre deux développeurs : elle définit de manière très stricte le modèle qu'une classe qui l'implémente doit respecter. Cela garantit à une personne que TOUTES les classes qui implémentent une interface fonctionneront de la même manière (puisqu'elles auront obligatoirement les méthodes définies dans l'interface).
Concernant la gestion des erreurs, PHP5 a introduit les exceptions, qui ne sont rien d'autre que des objets que l'on manipule d'une manière un peu spécifique dans le code et qui sont chargés de transmettre toutes les informations d'une erreur nécessaires à son déboguage (numéro de ligne, fichier, code erreur, message, pile d'erreurs...).
Mais à mon sens, le plus gros atout de PHP5, c'est la SPL : Standard PHP Library. Une bibliothèque d'interfaces, de classes (abstraites ou non) et d'exceptions qui facilitent grandement la gestion de certains problèmes. Parcours récursif de répertoires, manipulation de fichiers ou de tableaux, itérateurs, filtres, etc.

Il y aurait encore beaucoup de choses à dire, beaucoup d'exemples à donner, beaucoup de pratiques "php4 procédurales" à remettre en question...

J'espère que ça t'aidera dans ta réflexion.
Il existe aussi d'excellents bouquins qui traitent de la POO. Je ne saurais que recommander "Best Practices PHP5" chez Eyrolles : http://www.eyrolles.com/Informatique/Livre/best-practices-php-5-9782212116762 qui exploite à fond les fonctionnalités et les spécificités de PHP5.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
3
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
13 nov. 2008 à 15:05
Salut et Merci Neigedhiver.

Ton explication m'a permis de mieux cerner le concept.

J'ai imprimé la partie objet de l'aide officielle de PHP. Un peu de lecture pour commencer me fera du bien.

Et j'ai récemment acheté le livre "PHP 5 Advanced - Visual QuickPro Guide" dans lequel le sujet est traité. Ca me fera une bonne dose de lecture aussi.

En ce moment je code le site d'un éditeur (mon premier site). J'ai créé toute la structure et ça ressemble de plus en plus à un CMS. C'en est un d'ailleurs. Et en parcourant les sources de CMS connus, j'ai vite compris que la POO serait meilleure sans trop savoir pourquoi, d'ou ce sujet.

Alors, Merci encore.

Cordialement
0
Rejoignez-nous