disons que les classes et les fonctions permettent de faire les mêmes choses (on utilise le même mot clé pour les fonctions et pour les classes: function).
Mais...
Mais les classes permettent de "mieux" controler les données, c'est à dire de structurer les choses plus facilement.
un exemple:
pour traiter un formulaire d'inscription (les données sont: email, login, pass), il faut prévoir les actions:
- verifier les données
- enregistrer les données
- afficher les erreurs
On peut le faire via un code procédural;
On peut améliorer en mettant ça dans des fonctions:
- function verifier($_POST['email'], $_POST['login'], $_POST['pass'])
- function enregistrer($_POST['email'], $_POST['login'], $_POST['pass'])
- function pour afficher les erreurs
Avec une classe, on simplifie l'écriture:
- function recuperer($tableau) qui recupere et initialise les infos depuis le tableau $_POST par exemple
- function verifier qui verifie les données
- function erreur() qui permet d'afficher les erreurs
à l'usage, on crée un objet $inscription, on initialise via la methode recuperer puis on lance les autres methodes:
$inscription->verifier(); etc.
Si on veut changer les infos et rajouter par exemple nom et prénom dans l'inscription, on modifie uniquement la classe; avec les fonctions, il faut modifier les fonctions ET les appels de fonction.
Coder objet, c'est un état d'esprit structuré qui permet de faire évoluer le code plus simplement que les fonctions et le code procédural ( 'paté' ).
A+
Pascal qui code en objet dès que 2-3 traitements touchent les mêmes données