PHP en 10 leçons

Index

Leçon 1 : Introduction à PHP

  • Qu'est-ce que PHP et à quoi sert-il ?
  • Installation de PHP et d'un serveur local
  • Votre premier script PHP

Leçon 2 : Variables et types de données

  • Déclaration de variables
  • Types de données : chaînes de caractères, nombres, booléens, tableaux
  • Manipulation des variables

Leçon 3 : Structures de contrôle

  • Conditions : if, else, elseif
  • Boucles : for, while, do-while, foreach
  • Instructions de contrôle : break, continue

Leçon 4 : Fonctions

  • Définition de fonctions
  • Paramètres et valeurs de retour
  • Utilisation de fonctions prédéfinies

Leçon 5 : Tableaux

  • Tableaux indexés
  • Tableaux associatifs
  • Manipulation des tableaux

Leçon 6 : Formulaires et requêtes HTTP

  • Création de formulaires HTML
  • Envoi de données via POST et GET
  • Traitement des données côté serveur avec PHP

Leçon 7 : Gestion des fichiers

  • Lecture de fichiers
  • Écriture de fichiers
  • Manipulation de fichiers et de répertoires

Leçon 8 : Bases de données

  • Connexion à une base de données
  • Exécution de requêtes SQL
  • Récupération et affichage des données

Leçon 9 : Sécurité et validation des données

  • Protection contre les attaques par injection SQL
  • Validation des données utilisateur
  • Gestion des erreurs

Leçon 10 : Introduction aux frameworks et ressources supplémentaires

  • Vue d'ensemble des frameworks PHP populaires
  • Ressources pour approfondir vos connaissances en PHP

Chaque leçon vous fournira des explications, des exemples de code et des exercices pour vous aider à renforcer vos compétences en PHP.

 

Leçon 1 : Introduction à PHP

PHP, acronyme de "Hypertext Preprocessor", est un langage de programmation populaire utilisé principalement pour le développement web côté serveur. Il est largement utilisé pour créer des sites web dynamiques et interactifs.

Pour commencer, vous devez installer PHP et un serveur local sur votre machine. De nombreuses options sont disponibles, mais l'une des plus courantes est d'utiliser une suite logicielle appelée XAMPP. Vous pouvez télécharger XAMPP à partir de leur site officiel et suivre les instructions d'installation.

Une fois l'installation terminée, vous pouvez créer votre premier script PHP. Les fichiers PHP ont généralement l'extension ".php". Ouvrez votre éditeur de texte préféré et créez un nouveau fichier avec l'extension ".php", par exemple "index.php".

Dans votre fichier PHP, vous pouvez commencer par écrire la balise d'ouverture PHP :

<?php

Ensuite, vous pouvez écrire votre code PHP à l'intérieur de cette balise. Par exemple, vous pouvez afficher un message simple à l'aide de la fonction echo :

<?php
echo "Bonjour, monde !";
?>

Pour exécuter ce script PHP, placez-le dans le répertoire approprié de votre serveur local (généralement dans le dossier "htdocs" pour XAMPP) et accédez-y à l'aide de votre navigateur. Par exemple, si vous l'avez placé dans un dossier nommé "monsite", vous pouvez y accéder en utilisant l'URL http://localhost/monsite/index.php. Vous devriez voir le message "Bonjour, monde !" s'afficher dans votre navigateur.

Ceci conclut notre première leçon. Dans la prochaine leçon, nous examinerons les variables et les types de données en PHP.

 

Leçon 2 : Variables et types de données

En PHP, les variables sont utilisées pour stocker des valeurs. Une variable peut contenir différentes sortes de données, telles que des chaînes de caractères, des nombres ou des tableaux.

Pour déclarer une variable en PHP, utilisez le symbole du dollar $, suivi du nom de la variable. Par exemple :

$nom_variable;

Vous pouvez également lui attribuer une valeur lors de la déclaration :

$nom_variable = valeur;

PHP est un langage faiblement typé, ce qui signifie que vous n'avez pas besoin de déclarer explicitement le type de données d'une variable. Le type est déterminé automatiquement en fonction de la valeur affectée à la variable.

Voici quelques exemples de types de données couramment utilisés en PHP :

  • Chaînes de caractères : utilisées pour représenter du texte. Elles sont entourées de guillemets simples (') ou de guillemets doubles ("). Exemple :

$nom = 'John Doe';

Booléens : utilisés pour représenter des valeurs de vérité (vrai ou faux). Les valeurs possibles sont true (vrai) ou false (faux). Exemple :

$est_majeur = true;

Nombres : utilisés pour représenter des valeurs numériques. Ils peuvent être des entiers (nombre entier) ou des flottants (nombre à virgule). Exemple :

$age = 25;
$prix = 9.99;

Booléens : utilisés pour représenter des valeurs de vérité (vrai ou faux). Les valeurs possibles sont true (vrai) ou false (faux). Exemple :

$est_majeur = true;

Tableaux : utilisés pour stocker plusieurs valeurs dans une seule variable. Les tableaux peuvent être indexés (avec des clés numériques) ou associatifs (avec des clés textuelles). Exemple d'un tableau indexé :

$nombres = array(1, 2, 3, 4, 5);

Exemple d'un tableau associatif :

$personne = array('nom' => 'John Doe', 'age' => 25, 'ville' => 'Paris');

Dans la prochaine leçon, nous explorerons les structures de contrôle en PHP, qui vous permettront de prendre des décisions conditionnelles et d'exécuter des boucles répétitives.

 

Leçon 3 : Structures de contrôle

Les structures de contrôle en PHP vous permettent de prendre des décisions conditionnelles et d'exécuter des boucles répétitives. Elles sont essentielles pour contrôler le flux d'exécution de votre code.

  1. Conditions :

    • L'instruction if vous permet d'exécuter un bloc de code si une condition est vraie. Par exemple :

      $age = 18;
      if ($age >= 18) {
          echo "Vous êtes majeur.";
      }​
  • L'instruction else est utilisée avec if pour exécuter un bloc de code lorsque la condition de l'instruction if est fausse. Par exemple :

    $age = 16;
    if ($age >= 18) {
        echo "Vous êtes majeur.";
    } else {
        echo "Vous êtes mineur.";
    }​
  • L'instruction elseif vous permet de tester plusieurs conditions alternatives en plus de la condition de l'instruction if. Par exemple :

    $note = 75;
    if ($note >= 90) {
        echo "Excellent !";
    } elseif ($note >= 70) {
        echo "Bien joué !";
    } else {
        echo "Peut mieux faire.";
    }​
  • Boucles :

    • La boucle for vous permet d'exécuter un bloc de code un nombre spécifié de fois. Par exemple :

      for ($i = 0; $i < 5; $i++) {
          echo "Valeur : $i";
      }​
  • La boucle while vous permet d'exécuter un bloc de code tant qu'une condition est vraie. Par exemple :

    $i = 0;
    while ($i < 5) {
        echo "Valeur : $i";
        $i++;
    }​
  • La boucle do-while est similaire à la boucle while, mais elle garantit que le bloc de code est exécuté au moins une fois, même si la condition est fausse. Par exemple :

    $i = 0;
    do {
        echo "Valeur : $i";
        $i++;
    } while ($i < 5);​
  • La boucle foreach est utilisée pour itérer sur les éléments d'un tableau. Par exemple :

    $nombres = array(1, 2, 3, 4, 5);
    foreach ($nombres as $nombre) {
        echo "Nombre : $nombre";
    }​

Ces structures de contrôle vous permettent de rendre votre code PHP plus dynamique et flexible. Dans la prochaine leçon, nous aborderons les fonctions en PHP, qui vous permettent de regrouper du code réutilisable.

 

Leçon 4 : Fonctions

Les fonctions en PHP vous permettent de regrouper des morceaux de code réutilisable et de les exécuter lorsque vous en avez besoin. Elles améliorent la lisibilité, la maintenabilité et la modularité de votre code.

Pour définir une fonction en PHP, utilisez le mot-clé function, suivi du nom de la fonction et de ses paramètres entre parenthèses. Ensuite, vous pouvez définir le bloc de code à exécuter à l'intérieur de la fonction. Voici un exemple :

function dire_bonjour($nom) {
    echo "Bonjour, $nom !";
}

Dans cet exemple, nous avons défini une fonction nommée dire_bonjour qui prend un paramètre $nom. Lorsque cette fonction est appelée, elle affiche un message de salutation personnalisé.

Pour appeler une fonction, utilisez simplement son nom suivi des parenthèses et des arguments correspondants. Voici comment appeler notre fonction dire_bonjour :

dire_bonjour("John");

Cela affichera "Bonjour, John !" à l'écran.

Les fonctions peuvent également retourner des valeurs à l'aide du mot-clé return. Par exemple, nous pouvons modifier notre fonction dire_bonjour pour retourner le message au lieu de l'afficher directement :

function obtenir_message_bonjour($nom) {
    $message = "Bonjour, $nom !";
    return $message;
}

Maintenant, lors de l'appel de cette fonction, vous pouvez récupérer la valeur de retour et l'utiliser comme vous le souhaitez :

$message_bonjour = obtenir_message_bonjour("John");
echo $message_bonjour;

Cela affichera "Bonjour, John !" à l'écran.

Les fonctions peuvent être utilisées pour regrouper du code réutilisable, améliorer la lisibilité de votre code et faciliter la maintenance. Dans la prochaine leçon, nous explorerons les tableaux en PHP, qui vous permettent de stocker et de manipuler des ensembles de données.

 

Leçon 5 : Tableaux

Les tableaux en PHP sont utilisés pour stocker et manipuler des ensembles de données. Ils vous permettent de regrouper plusieurs valeurs dans une seule variable.

Il existe deux types principaux de tableaux en PHP : les tableaux indexés et les tableaux associatifs.

  1. Tableaux indexés : Un tableau indexé utilise des clés numériques pour accéder aux éléments. La première valeur a l'indice 0, la deuxième a l'indice 1, et ainsi de suite.

    Voici un exemple de création d'un tableau indexé contenant quelques nombres :

    $nombres = array(2, 4, 6, 8, 10);



    Pour accéder à un élément spécifique du tableau, utilisez son indice entre crochets :

    echo $nombres[2];  // Affiche 6
    ​

    Vous pouvez également modifier ou ajouter des éléments en utilisant leur indice :

    $nombres[1] = 3;  // Modifie la valeur à l'indice 1
    $nombres[] = 12;  // Ajoute la valeur 12 à la fin du tableau
    ​

 

  • Tableaux associatifs : Un tableau associatif utilise des clés textuelles pour accéder aux éléments. Chaque élément est associé à une clé qui lui est propre.

    Voici un exemple de création d'un tableau associatif contenant des informations sur une personne :

    $personne = array(
        'nom' => 'John Doe',
        'age' => 25,
        'ville' => 'Paris'
    );

Pour accéder à un élément spécifique du tableau associatif, utilisez sa clé entre guillemets :

echo $personne['nom'];  // Affiche "John Doe"

Vous pouvez également modifier ou ajouter des éléments en utilisant leur clé :

$personne['age'] = 26;  // Modifie la valeur de la clé 'age'
$personne['profession'] = 'Développeur';  // Ajoute une nouvelle paire clé-valeur

  1. Les tableaux peuvent également contenir d'autres tableaux, ce qui permet de créer des structures de données plus complexes.

Les tableaux en PHP offrent une grande flexibilité et sont largement utilisés pour stocker et manipuler des données. Dans la prochaine leçon, nous aborderons les formulaires et les requêtes HTTP en PHP, qui vous permettront de traiter les données envoyées par les utilisateurs via des formulaires web.

 

Leçon 6 : Formulaires et requêtes HTTP

Les formulaires web sont couramment utilisés pour collecter des données auprès des utilisateurs. En PHP, vous pouvez traiter les données envoyées par les utilisateurs via des formulaires à l'aide des requêtes HTTP.

  1. Création d'un formulaire : Pour créer un formulaire en HTML, utilisez l'élément <form> et spécifiez l'attribut action, qui définit l'URL du script PHP chargé de traiter les données du formulaire. Vous pouvez également spécifier la méthode de la requête à l'aide de l'attribut method, généralement "POST" ou "GET".

    Voici un exemple de formulaire de connexion basique :

    <form action="traitement.php" method="POST">
        <label for="nom_utilisateur">Nom d'utilisateur :</label>
        <input type="text" id="nom_utilisateur" name="nom_utilisateur">
    
        <label for="mot_de_passe">Mot de passe :</label>
        <input type="password" id="mot_de_passe" name="mot_de_passe">
    
        <input type="submit" value="Se connecter">
    </form>
    ​
  • Traitement des données du formulaire en PHP : Lorsque l'utilisateur soumet le formulaire, les données sont envoyées au script spécifié dans l'attribut action. En PHP, vous pouvez accéder à ces données à l'aide des superglobales $_POST ou $_GET, en fonction de la méthode de la requête spécifiée.

    Voici un exemple de script PHP (traitement.php) qui traite les données du formulaire précédent :

    $nom_utilisateur = $_POST['nom_utilisateur'];
    $mot_de_passe = $_POST['mot_de_passe'];
    
    // Effectuer le traitement des données ici...
    
    // Exemple d'affichage des données reçues
    echo "Nom d'utilisateur : $nom_utilisateur<br>";
    echo "Mot de passe : $mot_de_passe";
     
  1. Dans ce script, nous accédons aux valeurs du nom d'utilisateur et du mot de passe à l'aide de $_POST, puis nous pouvons effectuer le traitement nécessaire.

Les formulaires et les requêtes HTTP en PHP vous permettent d'interagir avec les utilisateurs et de traiter les données qu'ils envoient. Dans la prochaine leçon, nous aborderons la gestion des erreurs et les bonnes pratiques en PHP pour améliorer la robustesse et la sécurité de vos applications.

 

Leçon 7 : Gestion des erreurs et bonnes pratiques en PHP

La gestion des erreurs et l'adoption de bonnes pratiques en PHP sont essentielles pour garantir la robustesse et la sécurité de vos applications. Voici quelques points importants à considérer :

  1. Gestion des erreurs :

    • Activez le rapport des erreurs en PHP en définissant la directive error_reporting dans votre fichier de configuration (php.ini) ou au début de votre script PHP. Par exemple, error_reporting(E_ALL) vous permettra de signaler toutes les erreurs.

    • Utilisez les structures de contrôle try-catch pour capturer les exceptions et les gérer de manière appropriée. Les exceptions fournissent un moyen structuré de gérer les erreurs et les exceptions dans votre code.

    • Utilisez des journaux d'erreurs pour enregistrer les erreurs et les informations importantes liées à l'exécution de votre application. Cela peut être utile pour le débogage et le suivi des problèmes.

  2. Validation des données :

    • Validez toujours les données entrantes, notamment celles provenant des formulaires, avant de les utiliser dans votre application. Cela aide à prévenir les attaques par injection de code et garantit des données fiables.

    • Utilisez des fonctions de validation prédéfinies en PHP ou des bibliothèques externes pour simplifier la validation des données, telles que la vérification des adresses email, des numéros de téléphone, etc.

  3. Échappement des données :

    • Échappez les données avant de les afficher dans des contextes HTML, SQL ou d'autres langages pour éviter les attaques de type XSS (Cross-Site Scripting) et les erreurs de requête SQL. Utilisez des fonctions de filtrage et d'échappement appropriées telles que htmlspecialchars et les requêtes préparées pour les bases de données.
  4. Sécurité des mots de passe :

    • Stockez les mots de passe de manière sécurisée en utilisant des fonctions de hachage telles que password_hash pour les enregistrer et password_verify pour les vérifier.

    • N'oubliez pas de protéger les mots de passe en transit en utilisant des connexions sécurisées (SSL/TLS) pour les communications réseau.

  5. Nettoyage des variables :

    • Nettoyez et filtrez les variables d'entrée pour éviter les injections de code et les attaques. Utilisez des fonctions telles que filter_var pour effectuer une validation et un filtrage spécifiques.

    • Évitez d'utiliser des variables non filtrées directement dans des requêtes SQL pour prévenir les attaques par injection SQL. Utilisez des requêtes préparées ou des fonctions de liaison de paramètres pour garantir la sécurité des requêtes SQL.

Ces bonnes pratiques vous aideront à développer des applications PHP plus robustes et sécurisées. Dans la prochaine leçon, nous explorerons les concepts avancés en PHP, tels que la manipulation de fichiers, les sessions et les cookies.

 

 

Leçon 8 : Manipulation de fichiers, sessions et cookies en PHP

La manipulation de fichiers, les sessions et les cookies sont des concepts avancés en PHP qui vous permettent de gérer et de stocker des informations de manière persistante. Voici un aperçu de chacun de ces sujets :

  1. Manipulation de fichiers :

    • Utilisez la fonction fopen pour ouvrir un fichier en spécifiant le chemin d'accès et le mode d'ouverture (lecture, écriture, etc.).

    • Utilisez les fonctions fwrite et fread pour écrire et lire des données dans le fichier respectivement.

    • N'oubliez pas de fermer le fichier à l'aide de la fonction fclose une fois que vous avez terminé de travailler avec lui.

    • Assurez-vous que les fichiers ont les permissions d'accès appropriées pour éviter les problèmes de sécurité.

  2. Sessions :

    • Les sessions en PHP vous permettent de stocker des données côté serveur pour un utilisateur spécifique. Elles sont utilisées pour maintenir l'état de l'application entre différentes pages.

    • Commencez une session en utilisant la fonction session_start au début de votre script PHP. Cela créera un identifiant de session unique pour l'utilisateur et démarrera la session.

    • Stockez et récupérez des données de session à l'aide de la superglobale $_SESSION. Par exemple, vous pouvez définir $_SESSION['utilisateur'] = 'John'; pour stocker le nom de l'utilisateur.

    • N'oubliez pas de détruire la session avec session_destroy lorsque vous n'en avez plus besoin.

  3. Cookies :

    • Les cookies en PHP sont de petites informations stockées côté client, généralement utilisées pour suivre et persister les préférences utilisateur.

    • Utilisez la fonction setcookie pour définir un cookie en spécifiant son nom, sa valeur, la date d'expiration, le chemin et d'autres options.

    • Les cookies sont envoyés au serveur avec chaque requête, ce qui permet de récupérer les données du cookie à l'aide de la superglobale $_COOKIE.

    • N'oubliez pas que les cookies sont stockés côté client, et ils peuvent être modifiés ou supprimés par l'utilisateur. Ne stockez pas d'informations sensibles dans les cookies.

Ces concepts avancés en PHP vous permettent d'interagir avec des fichiers, de gérer des sessions utilisateur et de stocker des informations persistantes avec les cookies. Dans la prochaine leçon, nous aborderons la programmation orientée objet (POO) en PHP, qui vous permet d'organiser et de structurer votre code de manière efficace.

 

Leçon 9 : Programmation orientée objet (POO) en PHP

La programmation orientée objet (POO) en PHP vous permet d'organiser et de structurer votre code de manière efficace en utilisant des classes, des objets, des propriétés et des méthodes. Voici un aperçu des principaux concepts de la POO en PHP :

  1. Classes et objets :

    • Une classe est un modèle ou un plan pour créer des objets. Elle définit les propriétés (variables) et les méthodes (fonctions) associées à un objet.

    • Pour créer un objet à partir d'une classe, utilisez le mot-clé new. Par exemple, $objet = new MaClasse(); crée un nouvel objet de la classe MaClasse.

  2. Propriétés :

    • Les propriétés sont des variables définies dans une classe et associées à chaque objet créé à partir de cette classe.

    • Vous pouvez accéder aux propriétés d'un objet en utilisant l'opérateur ->. Par exemple, $objet->propriete vous permet d'accéder à la valeur de la propriété propriete de l'objet.

  3. Méthodes :

    • Les méthodes sont des fonctions définies dans une classe et utilisées pour effectuer des actions spécifiques sur les objets.

    • Vous pouvez appeler une méthode d'un objet en utilisant l'opérateur ->. Par exemple, $objet->maMethode() appelle la méthode maMethode() sur l'objet.

  4. Encapsulation :

    • L'encapsulation consiste à regrouper les propriétés et les méthodes connexes d'une classe et à les protéger en définissant leur visibilité.

    • PHP prend en charge trois niveaux de visibilité : public, protected et private. public signifie que la propriété ou la méthode est accessible à partir de n'importe où, protected signifie qu'elle est accessible uniquement à l'intérieur de la classe et de ses classes dérivées, et private signifie qu'elle est accessible uniquement à l'intérieur de la classe.

  5. Héritage :

    • L'héritage permet de créer de nouvelles classes basées sur des classes existantes. La classe existante est appelée la classe parent et la nouvelle classe est appelée la classe enfant.

    • Les classes enfants héritent les propriétés et les méthodes de la classe parent. Elles peuvent également ajouter de nouvelles propriétés et méthodes spécifiques.

    • L'héritage favorise la réutilisation du code et permet de créer une hiérarchie de classes.

  6. Polymorphisme :

    • Le polymorphisme permet à des objets de différentes classes d'être traités de manière uniforme lorsqu'ils ont des méthodes de même nom.

    • Par exemple, si plusieurs classes ont une méthode afficher(), vous pouvez les appeler de la même manière et elles seront exécutées en fonction du type d'objet.

La POO en PHP offre une approche puissante et structurée pour développer des applications. Elle vous permet de concevoir des classes et des objets pour représenter des entités du monde réel et de les manipuler de manière cohérente. Dans la prochaine leçon, nous aborderons les concepts avancés de la POO en PHP

 

Leçon 10 : Concepts avancés de la programmation orientée objet (POO) en PHP

Dans cette dernière leçon sur la POO en PHP, nous allons aborder quelques concepts avancés qui vous aideront à tirer le meilleur parti de la POO dans vos projets :

  1. Interfaces :

    • Une interface en PHP est une sorte de contrat qui spécifie les méthodes qu'une classe doit implémenter.

    • Vous pouvez définir une interface en utilisant le mot-clé interface suivi du nom de l'interface. Par exemple : interface MonInterface { ... }

    • Une classe qui implémente une interface doit fournir les définitions de toutes les méthodes spécifiées dans l'interface.

    • Les interfaces permettent de définir un comportement commun que plusieurs classes peuvent implémenter, facilitant ainsi la réutilisation du code.

  2. Traits :

    • Un trait en PHP est une façon de réutiliser du code en permettant l'utilisation de morceaux de code partagés entre plusieurs classes.

    • Vous pouvez définir un trait en utilisant le mot-clé trait suivi du nom du trait. Par exemple : trait MonTrait { ... }

    • Une classe peut utiliser un trait en utilisant le mot-clé use. Par exemple : class MaClasse { use MonTrait; }

    • Les traits permettent de partager des méthodes et des propriétés entre différentes classes sans nécessiter une hiérarchie de classes.

  3. Méthodes statiques :

    • Une méthode statique en PHP appartient à la classe elle-même plutôt qu'à une instance spécifique de la classe.

    • Vous pouvez définir une méthode statique en utilisant le mot-clé static avant le nom de la méthode. Par exemple : public static function maMethode() { ... }

    • Vous pouvez appeler une méthode statique en utilisant le nom de la classe suivi de l'opérateur ::. Par exemple : MaClasse::maMethode();

    • Les méthodes statiques sont pratiques pour les fonctions utilitaires qui ne nécessitent pas d'accéder aux propriétés spécifiques de l'objet.

  4. Classe abstraite :

    • Une classe abstraite en PHP est une classe qui ne peut pas être instanciée directement. Elle sert de modèle pour les classes dérivées.

    • Vous pouvez déclarer une classe abstraite en utilisant le mot-clé abstract avant le nom de la classe. Par exemple : abstract class MaClasseAbstraite { ... }

    • Les classes dérivées doivent implémenter toutes les méthodes abstraites définies dans la classe abstraite.

    • Les classes abstraites sont utiles pour définir des comportements communs ou des méthodes qui doivent être implémentées dans les classes dérivées.

Ces concepts avancés de la POO en PHP vous permettent d'élargir vos compétences en programmation et de créer des structures de code plus flexibles et réutilisables. N'oubliez pas de pratiquer et d'expérimenter pour mieux comprendre ces concepts. Bonne continuation dans votre apprentissage de PHP !