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

PRESENTATION DES FONCTIONS EN PHP

Découverte des fonctions et fonctions prêtes à l’emploi en PHP

Une fonction est constituée de trois choses : un nom, un couple de parenthèses contenant éventuellement des paramètres et un bloc de code qui représente une série d’instructions qui vont être exécutées dès qu’on va appeler la fonction.

L’avantage des fonctions est qu’elles vont nous permettre de n’écrire qu’une seule fois une série d’instructions et de pouvoir réutiliser le code écrit autant de fois que l’on souhaite dans notre script en appelant simplement la fonction.

En PHP, on va pouvoir soit utiliser une fonction prête à l’emploi, soit pouvoir créer ses propres fonctions.

Les fonctions prêtes à l’emploi font véritablement la force du PHP. En effet, le PHP dispose de plus de 1000 fonctions prêtes à l’emploi.

Une fonction prête à l’emploi est une fonction dont le code a déjà été défini dans le langage, et que nous n’avons plus qu’à appeler pour en exécuter le code.

Par exemple, le PHP dispose d’une fonction rand() dont le rôle est de générer un entier de manière aléatoire.

Ce que vous devez bien comprendre, c’est que la fonction rand() en soi contient de nombreuses lignes de code permettant effectivement la génération d’une nombre entier aléatoire.

Nous n’avons pas à nous soucier de cela : il va nous suffire d’appeler rand() pour générer un nouvel entier aléatoire.

Présentation des fonctions prêtes à l’emploi en PHP

On utilise la fonction rand() pour illustrer le fonctionnement des fonctions en PHP

Dans le script ci-dessus, j’ai effectué trois appels à rand() afin de générer trois entiers aléatoires. Pour appeler une fonction, il suffit d’écrire son nom suivi d’un couple de parenthèses et éventuellement de passer des arguments à notre fonction entre les parenthèses.

Certaines fonctions n'ont pas besoin d'argument pour fonctionner (pas d'argument du tout ou argument(s) facultatif(s)) tandis que d’autres encore ont absolument besoin qu'on leur passe des arguments pour fonctionner correctement.

Les arguments sont des informations qui vont être passées au code de la fonction pour préciser son exécution.

La fonction rand(), par exemple, possède deux arguments facultatifs. Ces arguments vont pouvoir nous servir à indiquer l’intervalle dans lequel doit être généré l’entier.

En précisant rand(1, 10), par exemple, je suis certain d’obtenir un entier compris entre 1 et 10.

Dans les chapitres suivants, nous allons étudier certaines des fonctions PHP prêtes à l’emploi qui je pense pourront vous être utiles un jour. Pas d’inquiétude donc : vous allez vite vous habituer à utiliser des fonctions.

Créer ses propres fonctions en PHP

Nous allons également pouvoir créer nos propres fonctions en PHP, dans le cas où aucune fonction déjà existante ne répondrait à nos besoinss.

Pour déclarer la création d’une nouvelle fonction, il faudra toujours commencer par le mot clef function.

Ensuite, nous allons devoir préciser le nom de notre fonction. Nous allons pouvoir donner le nom que l’on souhaite à nos fonctions (sauf si le nom est déjà pris par une autre fonction).

Le nom d’une fonction doit toujours commencer par une lettre (ou un underscore) mais jamais par un chiffre. En revanche, on va pouvoir placer des chiffres dans le nom d’une fonction.

Notez que le nom des fonctions n’est pas sensible à la casse. Cela signifie qu’on va pouvoir utiliser indifféremment des majuscules et des minuscules dans le nom de nos fonctions PHP.

Créons immédiatement une première fonction ensemble, afin de voir la syntaxe de base d’une fonction.

On crée une première fonction en PHP

Il faut penser à appeler notre fonction pour qu’elle s’exécute

Ici, nous avons créé une fonction qu’on a appelé bonjour() et dont le rôle est de renvoyer le message « Bonjour à tous » via une instruction echo.

Retenez bien la syntaxe de création d’une fonction, ce sera toujours la même.

Une fois la fonction créée, pensez bien qu’il faut l’appeler pour exécuter son code. Si on n’appelle pas bonjour(), rien ne sera affiché dans notre navigateur.

Vous pouvez ensuite appeler cette fonction autant de fois que vous le voulez pour afficher autant de messages que vous le désirez :

Une fonction PHP s’exécute autant de fois qu’elle est appelée

A chaque nouvel appel, notre fonction PHP s’exécute

Evidemment, l’intérêt de notre fonction est ici limité, celle-ci n’est là que pour illustrer le cours.

Les paramètres (ou arguments) des fonctions PHP

Les paramètres vont correspondre à des informations dont nos fonctions vont avoir besoin pour fonctionner.

En effet, dans certains cas, nos fonctions vont avoir besoin d’obtenir des valeurs pour fonctionner ou pour fonctionner différemment (comme on l’a vu avec rand()).

Lorsque l'on crée une fonction, nous parlerons de paramètre. Un paramètre est un prête nom. Par exemple, si l'on souhaite dire non plus "bonjour à tous" mais bonjour à chaque nouvelle personne qui utilise notre script, nous allons devoir passer un paramètre à notre fonction, par exemple une variable $prenom pour récupérer le nom de la personne.

Ensuite, lorsque nous utilisons la fonction, nous allons remplacer le paramètre (la variable $prenom de notre exemple précédent) par sa valeur courante. Cette valeur courante (par exemple "Pierre") est ce qu'on appelle un argument.

Pour illustrer cela, reprenons notre exemple précédent et imaginons cette fois-ci qu’on veuille donc dire bonjour de façon personnalisée, en précisant un prénom.

On ne veut bien entendu pas ici utiliser un prénom fixe mais bien pouvoir changer de prénom selon la valeur d'une variable. Lorsque l'on crée notre fonction, nous allons donc lui passer une variable en paramètre qu'on va réutiliser dans le code de la fonction.

Cette variable sera remplacée par sa valeur actuelle à chaque appel de notre fonction.

On crée une fonction PHP utilisant des arguments

On ne passe les valeurs effectives en paramètres que lorsqu’on appelle la fonction PHP

Je comprends que le code ci-dessus puisse être difficile à appréhender la première fois qu’on étudie les fonctions.

Pour bien le comprendre, vous devez d’abord bien dissocier les étapes de création de notre fonction et d’appel / d’exécution de celle-ci.

Lorsque l’on crée notre fonction, il va falloir indiquer que cette fonction aura besoin d’un argument pour fonctionner. Pour cela, on passe une variable prénom en paramètre.

Préciser une valeur effective ici n’aurait pas de sens puisqu’on veut pouvoir ensuite afficher des prénoms différents après le « Bonjour ».

C’est seulement lorsqu’on appelle la fonction pour l’exécuter qu’il faut alors passer les valeurs effectives en arguments de notre fonction.

Vous devez bien comprendre ici que la valeur passée va remplacer la variable dans le code de la fonction à chaque fois que celle-ci va être exécutée.

Notez que si l’on souhaite créer une fonction utilisant plusieurs arguments, il suffit de séparer les différents arguments par une virgule.

Récupérer le résultat d’une fonction avec return

Jusqu’à présent, nous avons utilisé des instructions echo afin d’afficher les résultats des fonctions créées et utilisées.

Le problème de cette méthode est que nous n’avons aucun contrôle sur l’affichage des résultats : dès que l’on appelle la fonction en question, le résultat est affiché.

Pour récupérer le résultat d’une fonction sans forcément l’afficher immédiatement, nous allons utiliser une instruction return plutôt que echo.

Attention cependant : l’instruction return va terminer l’exécution d’une fonction, ce qui signifie que le code suivant une instruction return dans une fonction ne sera jamais lu ni exécuté.

Pour illustrer cela, créons par exemple une fonction dont le rôle est de multiplier deux nombres entre eux et de renvoyer le résultat de la multiplication.

Présentation de l’instruction PHP return

Il peut être intéressant d’utiliser return plutôt que echo pour garder le contrôle sur le résultat d’une fonction en PHP

Ici, on echo le résultat dans notre fonction mult1(). Le résultat est donc affiché immédiatement après l’appel à notre fonction et nous n’avons aucun contrôle sur son affichage.

En revanche, on utilise return pour retourner le résultat de notre fonction mult2(). Ainsi, le résultat n’est pas affiché immédiatement : nous avons le contrôle.

Cela explique le fait qu’aucun résultat ne s’affiche suite au premier appel à mult2(). Le résultat a bien été calculé et a bien été retourné, mais il attend qu’on en fasse quelque chose.

Dans le deuxième appel à mult2(), on echo cette fois-ci le résultat retourné, qui s’affiche donc.

Retenez une nouvelle fois que return termine l’exécution d’une fonction : tout code suivant return dans une fonction ne sera jamais lu ni exécuté.

Chapitre précédent

Chapitre suivant