1. Installation de PHP
Pour commencer à utiliser PHP, vous devez l’installer sur votre serveur ou votre machine locale. Vous pouvez le faire en utilisant XAMPP (pour Windows) ou MAMP (pour macOS), ou en installant directement Apache, MySQL et PHP.
2. Premier Script PHP
Un script PHP est généralement intégré dans un fichier HTML et exécuté sur le serveur. Voici un exemple basique :
<?php
echo "Hello, World!";
?>
Lorsque vous accédez à ce fichier via un serveur web, il affichera “Hello, World!” dans le navigateur.
3. Variables et Types de Données
Les variables en PHP commencent par un $
suivi du nom de la variable. PHP est un langage faiblement typé, ce qui signifie que vous n’avez pas besoin de déclarer le type de variable.
<?php
$nom = "Alice"; // chaîne de caractères
$age = 30; // entier
$prix = 19.99; // float
$est_vrai = true; // booléen
echo "Nom : $nom, Âge : $age, Prix : $prix, Est vrai : $est_vrai";
?>
4. Opérateurs
PHP prend en charge les opérateurs arithmétiques, de comparaison et logiques.
Opérateurs arithmétiques
<?php
$a = 10;
$b = 2;
echo $a + $b; // Addition
echo $a - $b; // Soustraction
echo $a * $b; // Multiplication
echo $a / $b; // Division
echo $a % $b; // Modulo
?>
Opérateurs de comparaison
<?php
$a = 10;
$b = 20;
echo $a == $b; // Egalité
echo $a != $b; // Inégalité
echo $a < $b; // Moins que
echo $a > $b; // Plus que
echo $a <= $b; // Moins ou égal
echo $a >= $b; // Plus ou égal
?>
5. Structures de Contrôle
Conditions
<?php
$age = 18;
if ($age >= 18) {
echo "Vous êtes majeur.";
} else {
echo "Vous êtes mineur.";
}
?>
Boucles
Boucle for
<?php
for ($i = 0; $i < 5; $i++) {
echo "Nombre : $i<br>";
}
?>
Boucle while
<?php
$i = 0;
while ($i < 5) {
echo "Nombre : $i<br>";
$i++;
}
?>
6. Fonctions
Les fonctions en PHP permettent de réutiliser du code. Voici comment les déclarer et les utiliser :
<?php
function saluer($nom) {
return "Bonjour, $nom!";
}
echo saluer("Alice");
?>
7. Tableaux
Les tableaux en PHP peuvent être indexés numériquement ou associatifs.
Tableaux indexés numériquement
<?php
$fruits = array("pomme", "banane", "cerise");
echo $fruits[0]; // Affiche "pomme"
?>
Tableaux associatifs
<?php
$ages = array("Alice" => 25, "Bob" => 30);
echo $ages["Alice"]; // Affiche "25"
?>
8. Superglobales
PHP possède des variables superglobales prédéfinies qui sont disponibles dans tous les contextes. Les plus utilisées sont $_GET
, $_POST
, $_SESSION
, et $_COOKIE
.
Formulaires avec $_POST
<form method="post" action="process.php">
Nom : <input type="text" name="nom">
<input type="submit">
</form>
<?php
// process.php
$nom = $_POST['nom'];
echo "Bonjour, $nom!";
?>
9. Inclusion de Fichiers
PHP permet d’inclure d’autres fichiers PHP avec les instructions include
et require
.
<?php
include 'header.php';
require 'menu.php';
?>
10. Connexion à une Base de Données
PHP se connecte facilement aux bases de données MySQL en utilisant l’extension mysqli
ou PDO (PHP Data Objects).
Exemple avec mysqli
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
// Créer la connexion
$conn = new mysqli($servername, $username, $password, $dbname);
// Vérifier la connexion
if ($conn->connect_error) {
die("Échec de la connexion : " . $conn->connect_error);
}
$sql = "SELECT id, nom FROM utilisateurs";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Nom: " . $row["nom"]. "<br>";
}
} else {
echo "0 résultats";
}
$conn->close();
?>
11. Gestion des Sessions
Les sessions permettent de stocker des informations sur l’utilisateur sur le serveur pour être utilisées tout au long de la visite.
Démarrer un session
<?php
// Démarrer une session
session_start();
// Stocker des données dans la session
$_SESSION['nom'] = 'Alice';
$_SESSION['age'] = 30;
echo "Les variables de session sont définies.";
?>
Accéder aux données de la session
<?php
// Démarrer une session
session_start();
echo "Nom : " . $_SESSION['nom'];
echo "Âge : " . $_SESSION['age'];
?>
Détruire une session
<?php
// Démarrer une session
session_start();
// Détruire toutes les variables de session
session_unset();
// Détruire la session
session_destroy();
echo "La session est détruite.";
?>
12. Gestion des Cookies
Les cookies permettent de stocker des informations sur l’ordinateur de l’utilisateur.
Définir un cookie
<?php
// Définir un cookie
setcookie("nom_utilisateur", "Alice", time() + (86400 * 30), "/"); // 86400 = 1 jour
echo "Le cookie est défini.";
?>
Accéder à un cookie
<?php
if(isset($_COOKIE["nom_utilisateur"])) {
echo "Nom d'utilisateur : " . $_COOKIE["nom_utilisateur"];
} else {
echo "Le cookie n'est pas défini.";
}
?>
Supprimer un cookie
<?php
// Supprimer un cookie
setcookie("nom_utilisateur", "", time() - 3600, "/");
echo "Le cookie est supprimé.";
?>
13. Programmation Orientée Objet (POO)
PHP prend en charge la programmation orientée objet (POO), ce qui permet de créer des classes, des objets, des propriétés et des méthodes.
Définir une classe
<?php
class Personne {
// Propriétés
public $nom;
public $age;
// Constructeur
public function __construct($nom, $age) {
$this->nom = $nom;
$this->age = $age;
}
// Méthode
public function se_presenter() {
echo "Je m'appelle " . $this->nom . " et j'ai " . $this->age . " ans.";
}
}
// Créer une instance de la classe
$personne1 = new Personne("Alice", 30);
$personne1->se_presenter();
?>
Héritage
<?php
class Etudiant extends Personne {
// Propriété supplémentaire
public $etudes;
// Constructeur
public function __construct($nom, $age, $etudes) {
parent::__construct($nom, $age);
$this->etudes = $etudes;
}
// Méthode redéfinie
public function se_presenter() {
parent::se_presenter();
echo " Je suis étudiant en " . $this->etudes . ".";
}
}
// Créer une instance de la classe Etudiant
$etudiant1 = new Etudiant("Bob", 22, "informatique");
$etudiant1->se_presenter();
?>
14. Gestion des Fichiers
Lire un fichier
<?php
$mon_fichier = fopen("exemple.txt", "r") or die("Impossible d'ouvrir le fichier !");
while(!feof($mon_fichier)) {
echo fgets($mon_fichier) . "<br>";
}
fclose($mon_fichier);
?>
Écrire dans un fichier
<?php
$mon_fichier = fopen("exemple.txt", "w") or die("Impossible d'ouvrir le fichier !");
$txt = "Bonjour, monde !\n";
fwrite($mon_fichier, $txt);
fclose($mon_fichier);
echo "Écriture terminée.";
?>
Ajouter à un fichier
<?php
$mon_fichier = fopen("exemple.txt", "a") or die("Impossible d'ouvrir le fichier !");
$txt = "Ajout de texte.\n";
fwrite($mon_fichier, $txt);
fclose($mon_fichier);
echo "Ajout terminé.";
?>
15. Envoi d’Emails
PHP dispose de fonctions intégrées pour envoyer des emails.
Envoi d’un email simple
<?php
$to = "exemple@domaine.com";
$subject = "Sujet de l'email";
$txt = "Bonjour, ceci est un email de test.";
$headers = "From: webmaster@votresite.com";
if(mail($to, $subject, $txt, $headers)) {
echo "Email envoyé avec succès.";
} else {
echo "Échec de l'envoi de l'email.";
}
?>
16. Sécurité en PHP
Échapper les entrées utilisateur
Toujours échapper les entrées utilisateur pour prévenir les attaques par injection SQL et les failles XSS.
<?php
$nom = htmlspecialchars($_POST['nom']);
$age = (int)$_POST['age'];
?>
Préparer les requêtes SQL
Utilisez des instructions préparées pour interagir avec les bases de données.
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
// Créer la connexion
$conn = new mysqli($servername, $username, $password, $dbname);
// Vérifier la connexion
if ($conn->connect_error) {
die("Échec de la connexion : " . $conn->connect_error);
}
// Préparer et lier
$stmt = $conn->prepare("INSERT INTO utilisateurs (nom, age) VALUES (?, ?)");
$stmt->bind_param("si", $nom, $age);
// Définir les paramètres et exécuter
$nom = "Alice";
$age = 30;
$stmt->execute();
echo "Nouvel enregistrement créé avec succès.";
$stmt->close();
$conn->close();
?>
17. Utilisation des API
PHP permet d’interagir avec des API RESTful en utilisant cURL.
Exemple avec cURL
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.exemple.com/data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$data = json_decode($output, true);
print_r($data);
?>
Conclusion
PHP est un langage de programmation très puissant et flexible pour le développement web. En maîtrisant ces concepts et techniques avancés, vous serez en mesure de développer des applications web robustes et sécurisées. N’hésitez pas à explorer davantage et à pratiquer pour améliorer vos compétences en PHP.