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

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

LES CONDITIONS IF, IF…ELSE ET IF… ELSE IF… ELSE EN PHP

La condition if en PHP

La structure conditionnelle ou plus simplement condition if est la plus simple en PHP.

Cette condition va nous permettre d’exécuter un bloc de code SI un test est validé, ou ne rien exécuter dans le cas contraire. Notez que « if » signifie « si » en français.

Découvrons immédiatement la syntaxe de cette condition à travers un exemple.

Première utilisation de la structure conditionnelle if en PHP

Si notre test est validé, alors le code est bien exécuté

Il y a de nombreuses choses intéressantes dans ce code qui sont très mal comprises par de nombreux développeurs mais que vous allez comprendre sans problème grâce au travail fait dans le chapitre précédent.

Tout d’abord, notez qu’on utilise une variable et des opérateurs de comparaison au sein de notre condition.

On appellera ce qu’il y a entre parenthèses le test. Ce qui se trouve entre accolades sera exécuté seulement si le test a été validé par le PHP.

La chose très intéressante ici est de constater qu’on effectue notre test non pas sur notre variable en soi mais sur la valeur renvoyée par PHP suite à la comparaison.

En effet, on va tester si le PHP renvoie bien la valeur booléenne true suite à la comparaison $x >= 0. Si c’est le cas, le code entre accolades sera exécuté.

Si PHP renvoie la valeur false, en revanche, le code à l'intérieur de notre condition ne sera pas exécuté.

Simplifier l’écriture de ses conditions

La compréhension de ce qui est testé en PHP, bien qu’essentielle, est généralement très mauvaise par nombre de développeurs PHP car on a voulu leur apprendre trop vite.

Vous devez savoir qu’en effet la notation == true est superflue en PHP : le PHP renvoyant toujours une valeur booléenne suite à une comparaison, il va par défaut comparer cette valeur à la valeur true si rien n'est indiqué.

Ainsi, on peut directement écrire ce code ci-dessous, plus rapide et qui fournit les mêmes résultats que notre code précédent :

Ecriture raccourcie d’une condition en PHP

On n’est pas obligé de préciser l’égalité sur le booléen true dans nos conditions en PHP

Le gros problème est que beaucoup de gens montrent ce genre de code dès le début aux débutants, et donc ceux-ci ne peuvent pas comprendre comment fonctionne véritablement le PHP et la logique derrière les structures conditionnelles.

A partir de maintenant, nous utiliserons cette notation abrégée pour toutes nos boucles. Cependant, retenez bien une nouvelle fois que le test va s’effectuer in fine sur la valeur renvoyée par le PHP (true ou false) suite à la comparaison.

Tester si PHP renvoie la valeur booléenne false

Comme vous pouvez vous en douter, on ne va pas être obligé de tester que le PHP a bien renvoyé la valeur booléenne true, mais on va également pouvoir tester si PHP renvoie false à l'issue d'une comparaison.

Pour effectuer notre test par rapport à false, nous avons deux choix : soit le spécifier explicitement en utilisant la notation longue des conditions, soit utiliser l’opérateur logique inverse ! qui va inverser le résultat logique d'une comparaison et ainsi nous permettre de tester que le PHP NE renvoie PAS true (et donc qu’il renvoie false).

Voyons immédiatement ces deux méthodes. Nous reparlerons de l’opérateur logique inverse plus tard dans cette partie, ne vous inquiétez pas.

On peut effectuer notre test de condition sur la valeur false

On peut soit mentionner explicitement false dans nos conditions en PHP, soit utiliser l’opérateur logique inverse

Comme je l’ai précisé dans le code ci-dessus, l’opérateur logique inverse à pour rôle d’inverser la valeur logique d’une comparaison. Ainsi, si le PHP renvoie true suite à une comparaison, l’opérateur logique inverse va transformer ce résultat en false et inversement.

Dans l’exemple ci-dessus, le PHP renvoie false par défaut car $x ne contient pas de valeur inférieure à 0 (4 > 0). L’opérateur inverse transforme ce résultat en true. Ainsi, comme notre teste complet est (!($x < 0) == true), le code entre accolades est bien exécuté.

Cela correspond donc finalement de manière détournée à effectuer un test sur la valeur false.

La condition if… else en PHP

La structure conditionnelle if… else (« si… sinon » en français) permet d’introduire une alternative et est donc plus complète que la condition if.

Effectivement, avec la condition if, nous sommes très limités : nous ne pouvons exécuter un code que si un test est vérifié.

La condition if… else va nous permettre d’exécuter un code si un test est vérifié ou un autre code si le test n’est pas vérifié.

Observons la syntaxe de cette condition avec un exemple.

La condition if…else en PHP

On peut afficher deux messages différents en PHP grâce à if else

Dans le code ci-dessus, on effectue à nouveau notre test par rapport à la valeur d’une variable $x. Comme je l’ai dit précédemment, à partir de maintenant j’utiliserai les notations raccourcies pour les conditions. Cependant, rappelez vous bien que le test s’effectue bien sur la valeur (true ou false) renvoyée par PHP.

Dans notre cas, on renvoie le message « $x contient une valeur positive » si $x contient effectivement une valeur supérieure ou égale à zéro.

Dans tous les autres cas (else, « sinon »), on renvoie le message « $x contient une valeur strictement négative.

Notez bien qu’on n’effectuera jamais de test dans le else car le else est censé gérer tous les cas non pris en charge par le if. Ne faites pas l’erreur, sinon votre script ne fonctionnera pas du tout !

La condition if… elseif… else en PHP

La condition if… elseif… else (« si… sinon si… sinon ») est la structure conditionnelle la plus complète que nous avons vu jusqu’à présent.

En effet, nous allons pouvoir effectuer autant de tests et pouvoir gérer autant de cas que voulus grâce à cette nouvelle structure conditionnelle.

Prenons à nouveau un exemple pour voir les possibilités offertes par cette condition.

Utilisation de la condition if…elseif…else en PHP

La structure conditionnelle if elseif else nous permet de gérer un nombre illimité de cas

Comme vous pouvez l’observer, la syntaxe utilisée dans le elseif est similaire à celle du if.

Nous allons pouvoir rajouter autant de elseif que de cas que l’on souhaite traiter au sein d’une condition. Vous remarquez qu’il faut évidemment effectuer un test dans chaque elseif.

Notez également que vous devrez dans tous les cas terminer votre boucle avec un else qui va une nouvelle fois gérer tous les autres cas.

Chapitre précédent

Chapitre suivant