Accueil » Articles » Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

INTRODUCTION AUX FONCTIONS EN PHP

Dans le chapitre précédent, j’ai parlé plusieurs fois de « fonction ». Ce nouveau chapitre est consacré à la découverte des fonctions en PhP. Nous verrons entre autre ce qu’est une fonction, comment on utilise une fonction ou encore comment on peut créer ses propres fonctions en PhP.

Les fonctions en PhP : définition

L’une des grandes forces du langage PhP réside dans ses fonctions. En effet, le PhP dispose de plus de 1000 fonctions déjà prêtes à l’emploi comme la fonction array par exemple. De plus, nous avons la possibilité de créer nos propres fonctions si nous le souhaitons.

Une fonction, c’est tout simplement un bloc de code contenant une série d’instructions. Lorsqu’on fait appel à une fonction comme array par exemple, le bloc de code correspondant à la fonction va s’exécuter et retourner une valeur.

Le grand intérêt des fonctions est de ne pas avoir à réécrire toutes les instructions correspondant à la fonction à chaque fois.

Plutôt que de réécrire sans cesse la même série d’instructions, on va créer une fonction qui va contenir ces instructions. Nous n’aurons ensuite plus qu’à appeler cette fonction (en écrivant son nom) afin que les instructions qu’elle contient soient exécutées.

Dans le cas des fonctions déjà prêtes à l’emploi, c’est encore plus simple : vous n’avez même pas à écrire les instructions correspondant à la fonction une seule fois. Vous n’aurez qu’à appeler cette fonction et le PhP saura quelles instructions sont à exécuter.

Jusque là, cela ressemble fortement à ce que l’on a déjà fait avec les boucles. Cependant, les fonctions possèdent un autre avantage notable : elles peuvent s’adapter et ainsi retourner un résultat différent en fonction des paramètres (ou arguments) qu’on va leur fournir.

Un paramètre (ou argument), c’est tout simplement une valeur que l’on va donner à une fonction afin qu’elle exécute sa série d’instructions. Dans la majorité des cas, une fonction nous retournera également un résultat mais ce n’est pas obligatoire.

Avec les fonctions, nous allons par exemple pouvoir crypter des pages web ou créer des formulaires d’envoi automatique de mails.

Voilà, c’est à peu près tout pour la théorie. Je vous conseille de bien lire et relire ce que je viens de vous dire, même si cela vous paraît assez obscur à première vue, afin d’en assimiler l’essentiel. Ne vous inquiétez pas, vous allez vite comprendre dès que l’on va passer à la pratique !

Créer ses propres fonctions : la syntaxe de base

Le nom d’une fonction doit commencer par une lettre ou par un underscore (et pas par un chiffre). Si vous créez vos propres fonctions, il est recommandé de leur donner un nom qui reflète ce que fait la fonction.

A noter que le nom des fonctions n’est pas sensible à la casse. Attention donc : si vous créer deux fonctions différentes ayant le même nom, la première écrite en majuscules et la seconde en minuscules, cela ne fonctionnera pas !

La syntaxe de base d’une fonction est la suivante :

Syntaxe de base pour créer ses propres fonction en PHP

On déclare tout d’abord que l’on crée une fonction grâce au mot clef « function » (qui signifie « fonction » en anglais). Ensuite, on écrit le nom de notre fonction puis un couple de parenthèses. On écrira le ou les paramètres de notre fonction à l’intérieur de ces parenthèses si elle en a besoin pour fonctionner.

Enfin, vient le classique couple d’accolade avec le code que la fonction exécutera à l’intérieur.

Commençons par créer ensemble une fonction toute simple, sans paramètre, qui renverra un texte lorsque l’on va l’appeler. Cette fonction n’aurait aucun intérêt dans la réalité évidemment, elle n’est là que pour l’exemple.

Création de notre première fonction en PHP

Pour afficher le résultat d'une fonction en PHP, il faut l'appeler

Ci-dessus, nous avons commencé par déclarer puis écrire la fonction Bonjour qui renvoie le message « Bonjour à tous ». Ensuite, nous l’avons appelé afin qu’elle affiche le texte.

Notez bien qu’une fonction ne s’exécute pas automatiquement : elle doit être appelée afin de s’exécuter.

On pourrait également créer une fonction qui dirait « Bonjour » à nos utilisateurs de façon personnalisée, avec leurs noms. Cette fonction prendrait un argument : le nom de l’utilisateur qui serait une variable.

Je ne vais pas écrire le script complet pour récupérer le nom ici (pensez qu’il suffit d’utiliser un formulaire et de sortir les noms d’une base de donnée en les stockant dans une variable), mais juste me concentrer sur la fonction en soi afin de vous donner un autre exemple. Imaginez donc que ce script existe et qu’il fonctionne !

Nous devons passer des arguments à notre fonction pour qu'elle fonctionne

Ici, j’ai placé Pierre, puis Victor, puis Mathilde en paramètre. La fonction va donc retourner « Bonjour Pierre », « Bonjour Victor » et « Bonjour Mathilde »

On affiche le résultat de notre fonction en PHP

Voyons un dernier exemple ensemble avec une fonction utilisant plusieurs paramètres afin d’avoir vu tous les cas possibles. Cette fois-ci, notre fonction va retourner le nom et l’âge de nos utilisateurs.

Même principe que précédemment : je ne vais écrire que la fonction et non pas le script de récupération des noms et des âges. Pensez une nouvelle fois qu’il existe et fonctionne.

Création d'une deuxième fonction en PHP

Affichage du résultat de notre deuxième fonction PHP

Notez que lorsqu’une fonction a besoin de plusieurs arguments pour fonctionner, on sépare les arguments par une virgule lorsqu’on les déclare.

L’instruction return

Pour faire retourner une valeur à une fonction, nous allons utiliser l’instruction return à l’intérieur de notre fonction.

Beaucoup de développeurs, débutants comme expérimentés ont tendance à confondre les instructions return et echo.

La grosse différence entre return et echo est qu’en utilisant return vous avez le contrôle sur la valeur retournée par une fonction. Vous pouvez par exemple la mettre dans une variable puis l’utiliser par la suite.

En revanche, si vous utilisez echo, ce qu’il y a à l’intérieur du echo sera affiché juste après l’appel de la fonction dans tous les cas : ce n’est pas vous qui décidez.

Pour plus de clarté, regardons ces deux exemples ensembles qui utilisent deux fonctions « DireBonjour » et « DireBonsoir » :

Parfois, il est plus intéressant d'utiliser return avec nos fonctions PHP

Le résultat sera ici « BonsoirBonjour » et non pas « BonjourBonsoir » comme on aurait pu s’y attendre.

Return et Echo sont deux instructions différentes en PHP

Sauf cas bien particulier, je vous encourage donc plutôt à utiliser return qu’echo dans une fonction car vous avez une maitrise sur le résultat de la fonction.

Attention cependant, l’utilisation de l’instruction return termine la fonction, ce qui signifie qu’aucune des instructions sous un return dans une fonction ne sera exécutée, comme vous pouvez le voir ci-dessous :

Utiliser return va terminer les fonctions en PHP

Ici, rien ne va s’afficher car l’instruction return termine la fonction ; l’instruction echo dessous n’est donc pas exécutée.

17 commentaires

  1. abdelmalek derouich

    merci infiniment pour ces cours, j’été vraiment nul et maintenant je commence à n’avancer dans la création des sites WEB en utilisant le HTML, le CSS et le PHP et c’est grâce à vos cours minutieusement expliqués.

  2. bonjours ,je suis encore un petit peux débutant dans le codage , j’aimerais faire une page d’inscription et une de connexion en php et mysql je dispose d’une base de donnée . merci d’avance pour votre aide .
    ps : j’adore vos vidéo =)

  3. GLEIZE GÉRARD

    Bonjour Pierre
    Avant toute chose un grand merci pour ce que vous faîtes et honnêtement j’aurais bien aimé avoir eu un prof de votre acabit durant ma scolarité.
    Vu la qualité de vos tutoriels, j’ai franchi le cap pour essayer de construire un site qui pourrai être utile à mon épouse autoentrepreneuse depuis octobre 2014. De part vos encouragements ….
    *dixit : En résumé, ce cours s’adresse :
    Aussi bien au néophyte qu’à la personne expérimentée ;
    A tous ceux qui veulent apprendre à coder en HTML et en CSS.
    …… j’ai déroulé vos cours sur le HTML et CSS sans rencontrer de problèmes majeurs tant vos explications sont claires, nettes et précises. J’ai à cette occasion choisi Komodo comme éditeur de texte pour Linux. Je constate pour le php que vous ne parlez que de gedtit comme éditeur de texte pour Linux. Y a t-il une incompatibilité à poursuivre sur Komodo? Quel est l’outil le + approprié?

  4. Bocomba William Edouard

    bonjour,

    je suis William un de vos disciple Abidjan. En lisant le code source du site pierre-girraud.fr j’ai constater un bon nombre de balise link et de balise meta. Et je me pose la question de savoir a quoi elle servent? Par ailleurs je suis impatient de savourer la suite du cour sur php et mysql. Merci d’avance et surtout merci pour tout.

    Amicalement

    William

  5. Bonjour,

    Je te remercie de tout mon cœur Pierre!
    Tu consacre ton temps à partager des choses meilleures.
    Je suis débutant mais je croix de devenir pro, tes tutos sont claires et faciles à comprendre.
    Merci infiniement

  6. Salut, c’est vraiment génial ce que tu fais mais j’ai encore un problème, je n’arrive pas a créer un formulaire pour envoyer un mail ou pouvoir communiquez avec moi (pas un bloc mais vraiment une page de contact).
    Merci de bien vouloir m’aider…

    • Bonjour,

      J’explique déjà tout cela dans mes cours HTML / CSS et PhP… Je ne peux donc que vous conseillez de revoir les parties consacrées à cela (lien pour envoyer un fichier / un mail et partie formulaire HTML et PhP).

      Bonne continuation,
      Pierre

  7. Vous etes genial, j’ai vu vos cours sur youtube et votre adresses qui ma poussé avenir sur votre site. Mr pierre je suis un petit zero de la programmation mais suis pas mal j’aimerai vous assistez dans vos taches pour me former…! merci pour les cours suis content

  8. je voudrais que tu m’explique un peut comment fonctionne les fonction static en phph

  9. bonjour
    merci pour ce cours mais je ne vois pas la partie base de données et pourtant l’intitulé c’est cours complet!!!!

  10. Salut Pierre Giraud,

    Je viens de regarder le tuto sur HTML et CSS, c’est magnifique !!!
    Maintenant j’aimerais creer des sites dynamiques avec PHP MySQL.
    Pourriez vous m’aider s’il vous plait. Merci de votre aide en envoyant des tuto tres tres interessant.

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*