Apprendre à coder sur pierre-giraud.com

DES COURS COMPLETS ET GRATUITS POUR TOUS

SOMMAIRE

Introduction

  1. Présentation du cours
  2. Introduction au PHP
  3. Mettre en place un env. de travail

Les bases en PHP

  1. Syntaxe de base du PHP
  2. Premières instructions PHP
  3. Introduction aux variables PHP
  4. Types de valeurs et concaténation
  5. Opérations sur les variables
  6. Conditions et opérateurs de comparaison
  7. Les conditions if, if...else et if... elseif... else
  8. Utilisation avancée des conditions
  9. Structures ternaires et switch
  10. Les boucles PHP
  11. Découverte des fonctions
  12. La portée des variables
  13. Les constantes PHP
  14. Les variables tableaux PHP
  15. Tableaux associatifs
  16. Tableaux multidimensionnels
  17. Test n°1

Gestion des dates en PHP

  1. Le timestamp
  2. Obtenir et formater une date
  3. Tester la validité d'une date
  4. Test n°2

Opérations sur les fichiers en PHP

  1. Lire, ouvrir, fermer un fichier
  2. Parcourir et lire un fichier par partie
  3. Créer un fichier et écrire dedans
  4. Ecrire dans un fichier
  5. Les instructions include et require
  6. Test n°3

Les variables superglobales

  1. Découverte des variables superglobales
  2. Les cookies
  3. Les sessions
  4. Test n°4

Les expressions régulières et PHP

  1. Découverte des regex
  2. Les fonctions PHP PCRE
  3. Quantifieurs et options
  4. Classes de caractères
  5. Test n°5

L'orienté objet en PHP

  1. Classes, instances et objets
  2. Propriétés et méthodes
  3. Extension de classe et héritage
  4. Le principe d'encapsulation
  5. La méthode constructeur
  6. L'opérateur de résolution de portée et la surcharge
  7. Constantes, méthodes et propriétés statiques
  8. Les classes et méthodes abstraites
  9. Les interfaces
  10. Les méthodes magiques
  11. Le chainage de méthodes
  12. Test n°6

Notions avancées en POO

  1. Le typage explicite
  2. Les traits
  3. Les closures et les classes anonymes
  4. L'auto-chargement des classes
  5. Le mot clef final
  6. Résolution statique à la volée
  7. Parcourir des objets
  8. Le clonage d'objets
  9. Comparaison d'objets
  10. Test n°7

Filtres, erreurs et exceptions

  1. Introduction aux filtres
  2. Utilisation pratique des filtres
  3. Gérer les erreurs en PHP
  4. Gérer les exceptions en PHP

LE TYPAGE EXPLICITE EN PROGRAMMATION ORIENTEE OBJET PHP

Qu’est-ce que le typage explicite ?

Le typage explicite a été introduit avec le PHP5 et correspond au fait de pouvoir imposer un typage aux paramètres de nos méthodes.

Les paramètres vont alors pouvoir être de type objet, interface, tableau ou de type callable (fonctions de rappel).

Afin que cela fonctionne, il faudra également spécifier le nom de la classe dans la déclaration des méthodes pour lesquelles on souhaite utiliser le typage explicite.

Autre limitation du typage explicite à l’heure actuelle : on ne peut pas spécifier de type scalaire comme int ou string.

Cas d’utilisation et intérêt du typage explicite

Pour faire simple, le typage explicite va nous permettre de spécifier le type de données que notre méthode doit accepter (de lui imposer un type de données à recevoir).

Concrètement, cela permet de restreindre les données qui vont pouvoir être passées à une méthode (par exemple, on peut utiliser le typage explicite pour demander à une méthode de n’accepter que les données liées aux instances d’une certaine classe).

Le typage explicite va en particulier nous permettre de passer des objets complets à nos méthodes. C’est l’utilisation la plus fréquente que nous en ferons.

Cas pratique d’utilisation du typage explicite

Pour ce nouvel exemple, nous allons récupérer nos deux classes Humain et Francais qu’on va modifier.

Nous allons tester le typage explicite en forçant les types objet et tableau pour deux de nos méthodes.

On utilse le typage explicite en POO PHP

Définition de propriétés pour notre typage explicite

On définit nos méthodes TestTypeObjet() et testTypeTableau() dans notre classe Humain.

On impose un objet de la classe Francais en argument pour notre première méthode TestTypeObjet(). Le but de cette méthode va être tout simplement de retourner le score total lié à notre objet actuellement. Comme vous pouvez le voir, notre méthode additionne la valeur contenue dans la propriété $scorefr à celle de la propriété $score.

Ensuite, on impose un argument de type tableau à notre deuxième méthode testTypeTableau().

Voici donc finalement le script principal et le résultat :

Les arguments doivent être du bon type à cause du typage explicite en POO PHP

Nos méthodes s’exécutent bien

Si on tente de passer un argument d’un mauvais type, le PHP nous renvoie une erreur :

On tente de passer un argument de mauvais type avec typage explicite en POO PHP

Le PHP renvoie une erreur fatale car l’argument passé est de mauvais type

Chapitre précédent

Chapitre suivant