Classe ou pas classe ? Pourquoi ? Avantages et inconvénients...

Kittie
Invité n'ayant pas de compte PHPfrance

25 sept. 2008, 15:22

Bonjour,

Juste une question anodine de débutante :
Pourquoi préférer une classe de connexion à un fichier avec les paramètres en include ?
Qu'est-ce que ca apporte ? C'est quoi le mieux ? J'ai du mal à voir l'intérêt en fait...

Vous pouvez m'aider à répondre à cette question svp ?

Merci

Kittie

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

25 sept. 2008, 16:26

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "PHP orienté Objet".

Mammouth du PHP | 1668 Messages

25 sept. 2008, 16:58

Simple question : tu penses à PDO par rapport aux extensions natives mysql par exemple ?
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Mammouth du PHP | 19672 Messages

25 sept. 2008, 19:33

Simple question : tu penses à PDO par rapport aux extensions natives mysql par exemple ?
Sûrement pas.

C'est la découverte de la programmation orientée objet face à la programmation procédurale.

Un des intérêts premiers est la portabilité. Tu me diras qu'un fichier en procédural pourrait tout aussi bien l'être et tu aurais raison.
Mais c'est aussi l'extensibilité. Tu pourrais avoir une classe avec des méthodes génériques de base et ensuite développer des classes étendues selon certains critères, par exemple selon le SGBD utilisé : tes extensions ne seront pas les mêmes selon le SGBD : en procédural, il te faudrait soit créer autant de fichier procédural que de SGBD utilisé, soit avoir un très gros fichier qui aurait toutes les options disponibles. En objet, tes classes étendues intègrent par défaut toutes les méthodes de la classe de base.

En tout état de cause, en objet, on fait du générique. En procédural, on va plus facilement faire du code dit "métier" en ajoutant des éléments propres à l'application en cours de développement, et ça, ce n'est pas forcément portable facilement sur une autre application sans un nettoyage.

Donc on a souvent des classes de traitement génériques utilisables partout, éventuellement sous forme de Frameworks. Cette partie n'est jamais modifiée sauf pour des corrections de bugs ou des mises à jour pour de nouvelles versions. Tu développes donc en fin de compte moins de code pour chaque application te concentrant sur le code métier en utilisant les traitements des classes.

En fait quand on écrit une classe, on ajoute au langage des possibilités de traitements qui n'existent pas en natif parce que trop complexes à mettre en œuvre dans une fonction du langage.

La POO est aussi à mon sens une manière de "ranger le code" : les traitements génériques d'un coté, le code de l'application d'un autre sans avoir tout en vrac dans un même répertoire.

Voilà, c'est succinct et certainement incomplet, d'autres que moi apporteront peut-être d'autres éléments dignes d'intérêt ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: