Combiner des exemples des tutoriels précédents en un seul script

Dans ce script PHP, nous allons combiner des exemples des tutoriels précédents en un seul script. Ce script démontrera comment ouvrir un fichier, lire et écrire des données, se connecter à une base de données MySQL, insérer des données, gérer les erreurs et utiliser des exceptions personnalisées. Veuillez noter que cet exemple suppose que vous avez une base de données MySQL configurée avec les informations d'identification et la table nécessaires.
<?php
    // Gestion des erreurs
    error_reporting(E_ALL);
    function gestionnaire_erreurs_personnalise($errno, $errstr, $errfile, $errline) {
        echo "Erreur : [$errno] $errstr - $errfile:$errline";
    }
    set_error_handler("gestionnaire_erreurs_personnalise");

    // Classe d'exception personnalisée
    class ExceptionPersonnalisee extends Exception {
        public function messageErreur() {
            return "Erreur personnalisée : " . $this->getMessage();
        }
    }

    // Gestion des fichiers
    $fichier = fopen("exemple.txt", "w");
    fwrite($fichier, "Ceci est un exemple.");
    fclose($fichier);

    $contenu_fichier = file_get_contents("exemple.txt");
    echo "Contenu du fichier : " . $contenu_fichier . "<br>";

    // Connexion à la base de données MySQL
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "maBaseDeDonnees";

    try {
        $conn = new mysqli($servername, $username, $password, $dbname);
        if ($conn->connect_error) {
            throw new ExceptionPersonnalisee("Echec de la connexion : " . $conn->connect_error);
        }

        // Insérer des données dans la table MySQL
        $sql = "INSERT INTO users (name, email) VALUES ('Nasir Mehmood', 'john@example.com')";
        if (!$conn->query($sql)) {
            throw new ExceptionPersonnalisee("Erreur lors de l'insertion des données : " . $conn->error);
        }

        // Récupérer les données de la table MySQL
        $sql = "SELECT id, name, email FROM users";
        $result = $conn->query($sql);
        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                echo "ID : " . $row["id"] . " - Nom : " . $row["name"] . " - Email : " . $row["email"] . "<br>";
            }
        } else {
            echo "0 résultat";
        }

        $conn->close();
    } catch (ExceptionPersonnalisee $e) {
        echo $e->messageErreur();
    }
?>




Dans ce script PHP, nous allons intégrer Bootstrap pour améliorer la mise en page et le style. Le script démontrera comment ouvrir un fichier, lire et écrire des données, se connecter à une base de données MySQL, insérer des données, gérer les erreurs et utiliser des exceptions personnalisées. Veuillez noter que cet exemple suppose que vous avez une base de données MySQL configurée avec les informations d’identification et la table nécessaires.

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exemple PHP avec Bootstrap</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <h1 class="text-center my-4">Exemple PHP avec Bootstrap</h1>
        <?php
            // Gestion des erreurs
            error_reporting(E_ALL);
            function gestionnaire_erreurs_personnalise($errno, $errstr, $errfile, $errline) {
                echo "<div class='alert alert-danger'>Erreur : [$errno] $errstr - $errfile:$errline</div>";
            }
            set_error_handler("gestionnaire_erreurs_personnalise");

            // Classe d'exception personnalisée
            class ExceptionPersonnalisee extends Exception {
                public function messageErreur() {
                    return "<div class='alert alert-warning'>Erreur personnalisée : " . $this->getMessage() . "</div>";
                }
            }

            // Gestion des fichiers
            $fichier = fopen("exemple.txt", "w");
            fwrite($fichier, "Ceci est un exemple.");
            fclose($fichier);

            $contenu_fichier = file_get_contents("exemple.txt");
            echo "<p class='text-center'>Contenu du fichier : " . $contenu_fichier . "</p>";

            // Connexion à la base de données MySQL
            $servername = "localhost";
            $username = "username";
            $password = "password";
            $dbname = "maBaseDeDonnees";

            try {
                $conn = new mysqli($servername, $username, $password, $dbname);
                if ($conn->connect_error) {
                    throw new ExceptionPersonnalisee("Echec de la connexion : " . $conn->connect_error);
                }

                // Insérer des données dans la table MySQL
                $sql = "INSERT INTO users (name, email) VALUES ('Nasir Mehmood', 'john@example.com')";
                if (!$conn->query($sql)) {
                    throw new ExceptionPersonnalisee("Erreur lors de l'insertion des données : " . $conn->error);
                }

                // Récupérer les données de la table MySQL
                $sql = "SELECT id, name, email FROM users";
                $result = $conn->query($sql);
                if ($result->num_rows > 0) {
                    echo "<table class='table table-striped'>";
                    echo "<thead><tr><th>ID</th><th>Nom</th><th>Email</th></tr></thead><tbody>";
                    while ($row = $result->fetch_assoc()) {
                        echo "<tr><td>" . $row["id"] . "</td><td>" . $row["name"] . "</td><td>" . $row["email"] . "</td></tr>";
                    }
                    echo "</tbody></table>";
					} else {
					echo "<div class='alert alert-info'>0 résultat</div>";
					}
            $conn->close();
        } catch (ExceptionPersonnalisee $e) {
            echo $e->messageErreur();
        }
    ?>
</div>

<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js"></script>
</body>
</html>

Ce script intègre Bootstrap pour améliorer la mise en page et le style de l’exemple PHP. Il est essentiel de structurer et d’organiser votre code en fichiers et fonctions séparés pour maintenir une base de code propre et efficace pour les applications plus importantes.