Pourquoi programmer en objet ?
Pour un projet php de plus grande envergure, la programmation orientée objet est un très bon choix de développement. En effet cette manière de programmer offre de nombreux avantages :- votre code est séparé en plusieurs classes, ce qui améliorera la lisibilité de votre application, chaque classe ayant ses propres propriétés et son propre contexte.
- une approche modulaire est assez simple à mettre en place car vos objets sont cloisonnés et ne peuvent interagir entre eux uniquement si cela a été clairement spécifié.
- la réutilisation de code au travers de classes que vous seriez amené à utiliser dans plusieurs projets..
Un objet : quésako ?
Définition
“Un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs”. (source : Wikipédia )Les classes
Présentation
Une classe permet de définir la structure des éléments qui sera commune à vos objets. On pourra dire qu’une classe fonctionne comme un moule qui donnerait la forme à des gâteaux. Si nous reprenons notre exemple d’une voiture, on aurait alors une classe qui définirait les attributs (moteur, volant, porte, carburant) ainsi que les méthodes inhérentes (rouler, stationner…)Déclaration d’une classe
Attention: le nom de votre classe doit être écrit en “Camel Case” ce qui veut dire qu’il n’y a pas d’espace entre les mots et que la première lettre de chaque mot est écrite en majuscule. Par exemple une classe de gestion de véhicules aura pour nom : GestionVehicule.
Les instances
Présentation
Instancier une classe est en fait un simple appel à celle-ci. Pour cela il faut utiliser le mot-clé new qui construira l’objet grâce à la méthode __construct().Instancier une classe
Dans l’exemple ci-dessous nous avons 3 instances différentes de la classe Voiture:Les attributs
Présentation
Les attributs sont en fait les caractéristiques qui définissent un objet. Prenons l’exemple d’une voiture. Ce qui la caractérise en tant que véhicule ce serait :- les roues
- le volant
- le moteur
- les portières
- etc…
Déclarer des attributs
La déclaration d’attributs dans une classe est assez simple à mettre en oeuvre, cependant il faut faire attention à la visibilité de ceux-ci. Il y a trois niveaux de visibilité :- public (accessible partout même à l’extérieur de la classe)
- private (accessible à l’intérieur de la classe)
- protected (Le type de visibilité protected est en fait une petite modification du type private : il a exactement les mêmes effets que private, à l'exception que toute classe fille aura accès aux éléments protégés. Source : OpenClassRooms )