PHP avancé

  1. Concepts de base du PHP Orienté Objet
  2. Encapsulation (Visibilité)
  3. Héritages
  4. Constantes de classe, attributs et méthodes statiques
  5. Méthodes magiques
  6. Les classes et méthodes abstraites : définition et intérêt
  7. Gérer une DB avec PDO
  8. CRUD (Create, Read, Update, Delette)
  9. Les interfaces en PHP
  10. Les traits en PHP
  11. Classe anonyme en PHP
  12. Clonage d’objet en PHP
  13. Les sessions en PHP
  14. Les cookies en PHP
  15. Gestion des exceptions en PHP
  16. Les filtres en PHP

1- Concepts de base du PHP Orienté Objet

Qu’est-ce qu’un objet ?

Les objets pourraient être comparés à des variables dans lesquelles on pourra non seulement écrire ou lire des valeurs, mais également effectuer des actions.

Exemples de la vie quotidienne

Dans notre vie quotidienne, nous utilisons des objets tous les jours. Notre cafetière, notre voiture, notre téléviseur sont autant d’objets « quotidiens » qui pourraient se comparer à un objet PHP.

En effet, chacun de ces objets aura des caractéristiques qui lui sont propres, sa couleur, son énergie, sa taille, le nombre de places de la voiture. Chacune de ces caractéristiques vont définir notre objet.

Nous pourrons également effectuer des actions avec chacun de ces objets, démarrer, allumer, changer de chaine, accélérer…

Et le PHP dans tout ça ?

En PHP, les caractéristiques s’appelleront des propriétés et les actions s’appelleront des méthodes. Nos objets pourront posséder ces propriétés et ces méthodes en fonction de ce que nous souhaitons.

Conventions

Avant d’aller plus loin, voici quelques conventions importantes dans le développement orienté objet.

  • Chaque objet aura son propre fichier
  • Le nom de fichier sera le nom de l’objet
  • Le nom de l’objet sera écrit en UpperCamelCas

Premier Classe

Une classe en PHP se définit par le mot clé  « class« .

Nous allons donc créer la Classe « Compte » dans un fichier intitulé « Compte.php » (notez-le C majuscule). Nous placerons ce fichier dans un dossier « classes » qui contiendront tous nos fichiers de classes.

Le fichier « Compte.php » contiendra donc la déclaration de classe « Compte » comme ceci

Une fois la classe déclarée, à l’intérieur nous allons pouvoir déclarer les propriétés de l’objet. Notre compte pourra avoir un titulaire et un solde. Nous allons donc les déclarer comme ci-dessous (nous reviendrons sur le mot clé « public » dans la partie « Visibilité »).

Instancier l’objet

Après avoir déclaré la classe, nous pourrons l’appeler à plusieurs reprises dans des variables différentes. On appellera cette manipulation « Instancier l’objet » qui permet de créer plusieurs exemplaires de notre objet, chaque exemplaire étant appelé « instance« .

Modifier la valeur des propriétés

Lorsque nous avons instancié l’objet « Compte« , nous n’avons pas défini de valeurs pour les propriétés « titulaire » et « solde ».

Nous allons pouvoir les modifier comme ceci

Le constructeur

Comme nous l’avons vu précédemment, lorsque nous instancions notre classe, ses propriétés ne sont pas remplies.

Nous allons pouvoir utiliser une méthode (fonction) spécifique appelée « constructeur » qui va nous permettre de « construire » notre objet lorsque nous l’instancions.

Cette méthode sera exécutée automatiquement lors de l’instanciation de l’objet.

Vous remarquerez l’utilisation de « this » qui représente l’instance de classe que nous utilisons.

Pour instancier notre classe, nous devrons donc maintenant préciser un titulaire et un solde de cette façon

Ajouter des méthodes

Une fois notre objet créé, nous pouvons avoir besoin d’effectuer des actions sur celui-ci.

Dans le cas de notre « Compte« , nous devrions pouvoir afficherle solde, déposer et retirer de l’argent.

Pour afficher le solde du compte, nous allons créer une méthode que nous placerons directement sous le constructeur.

Notre méthode affichera le solde du compte sous la forme d’un « echo » et sera créée comme ceci

Pour afficher le solde de notre « compte1« , nous allons donc utiliser la méthode de la façon suivante

Pour pouvoir ajouter de l’argent à notre solde, nous allons créer une méthode « deposer« 

Et l’utiliser comme ceci

Pour le retrait, nous allons créer une méthode « retirer » qui vérifiera le solde avant d’autoriser le retrait

Et l’utiliser comme ceci

Retour Plan Cours