1.
Introduction et Syntaxe de base
PHP est un langage de script principalement utilisé pour le développement web côté serveur.
Les scripts PHP sont exécutés sur le serveur, et le résultat est renvoyé au client sous forme de
HTML.
php
Copier le code
<?php
// Ceci est un commentaire sur une ligne
/*
Ceci est un commentaire
sur plusieurs lignes
*/
echo "Bonjour, monde !"; // Affiche "Bonjour, monde !"
?>
1.1 Commentaires
Les commentaires permettent d'expliquer le code. Ils ne sont pas exécutés par l'interpréteur
PHP.
// pour les commentaires sur une ligne.
/* ... */ pour les commentaires sur plusieurs lignes.
2. Variables et Types de données
Les variables en PHP sont dynamiques, ce qui signifie qu'elles peuvent contenir des données
de différents types au cours de l'exécution.
2.1 Types de données
String (Chaîne de caractères) : Texte, délimité par des guillemets simples ou
doubles.
php
Copier le code
$texte = "Ceci est une chaîne de caractères.";
Integer (Entier) : Nombre entier.
php
Copier le code
$nombre = 42;
Float (Flottant) : Nombre à virgule flottante.
php
Copier le code
$flottant = 3.14;
Boolean (Booléen) : true ou false.
php
Copier le code
$estVrai = true;
Array (Tableau) : Collection ordonnée d'éléments.
php
Copier le code
$fruits = array("Pomme", "Banane", "Orange");
Object (Objet) : Instance d'une classe.
NULL : Spécial pour une variable sans valeur.
php
Copier le code
$vide = NULL;
2.2 Opérations sur les chaînes
PHP offre de nombreuses fonctions pour manipuler les chaînes.
php
Copier le code
$nom = "Jean";
$prenom = "Dupont";
$nomComplet = $prenom . " " . $nom; // Concaténation
echo strlen($nomComplet); // Longueur de la chaîne
3. Structures de contrôle
Les structures de contrôle déterminent le flux d'exécution des scripts.
3.1 Conditions
if, else, elseif
php
Copier le code
$nombre = 10;
if ($nombre > 0) {
echo "Positif";
} elseif ($nombre < 0) {
echo "Négatif";
} else {
echo "Zéro";
}
switch
php
Copier le code
$jour = "lundi";
switch ($jour) {
case "lundi":
echo "C'est le début de la semaine.";
break;
case "vendredi":
echo "C'est presque le week-end.";
break;
default:
echo "Jour ordinaire.";
}
3.2 Boucles
for
php
Copier le code
for ($i = 0; $i < 5; $i++) {
echo $i;
}
while
php
Copier le code
$j = 0;
while ($j < 5) {
echo $j;
$j++;
}
do...while
php
Copier le code
$k = 0;
do {
echo $k;
$k++;
} while ($k < 5);
foreach (spécialement pour les tableaux)
php
Copier le code
$fruits = array("Pomme", "Banane", "Orange");
foreach ($fruits as $fruit) {
echo $fruit;
}
4. Fonctions
Les fonctions sont des blocs de code réutilisables.
php
Copier le code
function additionner($a, $b) {
return $a + $b;
}
$resultat = additionner(5, 3); // 8
echo $resultat;
Fonctions anonymes : Fonctions sans nom, utilisées souvent comme callback.
php
Copier le code
$direBonjour = function($nom) {
return "Bonjour, " . $nom;
};
echo $direBonjour("Alice");
5. Tableaux
Les tableaux en PHP sont utilisés pour stocker des ensembles de données.
5.1 Tableaux indexés
php
Copier le code
$fruits = array("Pomme", "Banane", "Orange");
echo $fruits[0]; // Pomme
5.2 Tableaux associatifs
php
Copier le code
$age = array("Jean" => 25, "Paul" => 30, "Marie" => 22);
echo $age["Jean"]; // 25
5.3 Tableaux multidimensionnels
php
Copier le code
$matrice = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
);
echo $matrice[1][2]; // 6
6. Programmation Orientée Objet (POO)
PHP prend en charge la POO, permettant de structurer le code de manière modulaire et
réutilisable.
6.1 Définir une classe
php
Copier le code
class Voiture {
public $couleur;
public $marque;
public function __construct($couleur, $marque) {
$this->couleur = $couleur;
$this->marque = $marque;
}
public function rouler() {
return "La voiture roule.";
}
}
6.2 Créer un objet
php
Copier le code
$maVoiture = new Voiture("Rouge", "Toyota");
echo $maVoiture->rouler(); // La voiture roule.
6.3 Encapsulation
L'encapsulation consiste à protéger les données d'un objet en utilisant des propriétés privées et
des méthodes publiques pour les manipuler.
php
Copier le code
class Personne {
private $nom;
public function setNom($nom) {
$this->nom = $nom;
}
public function getNom() {
return $this->nom;
}
}
$personne = new Personne();
$personne->setNom("Alice");
echo $personne->getNom(); // Alice
6.4 Héritage
L'héritage permet de créer une nouvelle classe à partir d'une classe existante.
php
Copier le code
class Animal {
public function dormir() {
return "L'animal dort.";
}
}
class Chien extends Animal {
public function aboyer() {
return "Le chien aboie.";
}
}
$chien = new Chien();
echo $chien->dormir(); // L'animal dort.
echo $chien->aboyer(); // Le chien aboie.
7. Gestion des erreurs et des exceptions
PHP propose des mécanismes pour gérer les erreurs et les exceptions.
7.1 Gestion des erreurs
php
Copier le code
$error = "Erreur personnalisée.";
trigger_error($error, E_USER_ERROR);
7.2 Gestion des exceptions
php
Copier le code
try {
if (!file_exists("fichier.txt")) {
throw new Exception("Fichier non trouvé.");
}
} catch (Exception $e) {
echo "Message d'erreur : " . $e->getMessage();
}
8. Interaction avec les bases de données
PHP peut interagir avec diverses bases de données, y compris MySQL, PostgreSQL, SQLite,
etc.
8.1 Connexion à MySQL avec MySQLi
php
Copier le code
$conn = new mysqli("localhost", "utilisateur", "mot_de_passe",
"base_de_donnees");
if ($conn->connect_error) {
die("Échec de la connexion : " . $conn->connect_error);
}
$sql = "SELECT id, nom FROM utilisateurs";
$resultat = $conn->query($sql);
if ($resultat->num_rows > 0) {
while($ligne = $resultat->fetch_assoc()) {
echo "id: " . $ligne["id"]. " - Nom: " . $ligne["nom"]. "<br>";
}
} else {
echo "0 résultats";
}
$conn->close();
8.2 Connexion à MySQL avec PDO
php
Copier le code
try {
$conn = new PDO("mysql:host=localhost;dbname=base_de_donnees",
"utilisateur", "mot_de_passe");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT id, nom FROM utilisateurs";
$stmt = $conn->prepare($sql);
$stmt->execute();
$resultat = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($resultat as $ligne) {
echo "id: " . $ligne["id"]. " - Nom: " . $ligne["nom"]. "<br>";
}
} catch(PDOException $e) {
echo "Erreur : " . $e->getMessage();
}